軽量級xml 1.0解析器

3910 ワード

LiteXml


a lite and power serializable&deserializable xml parser
背景を生成
現在、エンドとエンドの間の通信の主流のデータストリームはjson、xml、protobuffer、byteストリームであり、現在最も流行しているのはjsonであり、構造が簡単で、市場には多くの高速、高効率、安定した解析器があり、例えばgson、fastjsonなど、jsonもプラットフォームにまたがることができ、つまりエンドとは関係なく、主にjsonプロトコルに従って伝送すればよいため、これも現在多くのプラットフォームがjsonをpayloadとして使用している理由である.主流であるが唯一の選択ではないため、現在は多くのエンド間通信、データソースの構成、テンプレート構成などxmlが使用されている.理由はより構造化されているが、jsonに比べて複雑であるが、表現できる情報はより豊富であるが、xmlの解析には多くの人が頭を悩ませている問題であり、jsonのような便利な解析器がなく、手動解析が特に煩雑であり、コード量も大きく、問題が発生しやすい.だから私はいくつかの日の思考を経て、1つの通用することができて、迅速で、効率的で、簡単に使いやすいxml解析器を実現することができなくて、そこで今日の軽量級xml解析器があって、この解析器を通じて、とても速くて、簡単な実現の対象とドキュメントの間の転換、簡単に1つのコードさえあれば、以下私は詳しくこの解析器の内幕を紹介して、どのように見て、1種の熟知した感じがあって、gsonバージョンのxml解析器ではありませんて、そうですね.そうです.ニワトリたち、一緒に不思議な解析器を探しましょう.
初志
  • 単純
  • 高効率
  • 安定
  • 機能
  • オブジェクト生成文書
  • ドキュメントキャプチャ変換オブジェクト
  • 集合生成文書
  • 文書をセット
  • に変換する.
  • ハッシュテーブル生成文書
  • ドキュメントをハッシュテーブル
  • に変換する
    xml解析器で使用されるコアテクノロジー
  • 汎用タイプコンパイル時に特定のタイプ
  • を取得する.
  • 反射
  • きほんず
    xml
    詳細分析

    ドキュメントをオブジェクトに変換


    解析するxmlドキュメントは次のとおりです.
    
    
        
            
            
                  
                1002
                
                    
                           
                    
                    
                           
                    
                
            
        
        
            bb
            dd
        
        1000
        
              
              
        
    
    

    変更ドキュメントからビジネスオブジェクトprovinceのコードを生成
    Province province = new Xml().fromXml(new TypeToken() {}.getType(), xml);
    

    オブジェクト生成ドキュメント


    上の逆シーケンスオブジェクトをシーケンス化するには、ドキュメントと同じコードが必要です.
    String pXml = new Xml().toXml(province);
    

    ドキュメントをコレクションに変換


    解析が必要なドキュメントは次のとおりです.
    
    
    
        
            java
            goms
        
        
            android
            google
        
    
    

    文書生成集合オブジェクトArrayListのコード
    ArrayList books = new Xml().fromXml(new TypeToken>() {}.getType(), booksXml);
    

    コレクション生成ドキュメント


    上の逆シーケンスオブジェクトをシーケンス化するには、ドキュメントと同じコードが必要です.
    String listXml = new Xml().toXml(books, new TypeToken>(){}.getType());
    

    ドキュメントをハッシュ・テーブルに変換


    解析が必要なドキュメントは次のとおりです.
    
    
    
        bb
        dd
    
    

    文書は、ハッシュ表オブジェクトHashMapのコードを生成する
    HashMap map = new Xml().fromXml(new TypeToken>() {}.getType(),mapXml);
    

    ハッシュ表生成ドキュメント


    上の逆シーケンスオブジェクトをシーケンス化するには、ドキュメントと同じコードが必要です.
    String mXml = new Xml().toXml(map, new TypeToken>(){}.getType());
    

    ニワトリたちは強い感じがするのではないでしょうか.gson解析new Gson().fromJson()に似ているのではないでしょうか.このような感じは間違いありません.そうすれば、gsonを使うだけでxml解析器を使うことができ、学習コストが大幅に削減されます.つまり、私の初心です.ハハハハ......
    現在のバージョンでは実装されていない機能
  • ハッシュテーブルオブジェクトストレージ
  • 集合マルチレベル処理(このようなシーンは少ない)
  • 解析器構成インタフェース(主により柔軟なビジネス処理能力を提供する)
  • 次のバージョンのターゲット
  • 完備機能
  • 発見されたバグを修復する
  • コード再構成
  • コード性能最適化
  • ソースのダウンロード
  • ダウンロード
  • github表示
  • 次のQRコードをスキャンして、私の微信を加えて、一緒に交流して勉強します!
    bar