2016-08-15 4 views
2

AndroidのXMLPullParserがどのXMLをどのようにナビゲートするかを理解し、コーディングしています。以下は、子ども1の属性情報を取得することだけに興味があるXMLの例です。Android XMLPullParserを使用してXMLをナビゲート/解析する

Android XMLPullParserに、特定のタグ(子1)内の情報のみを気にする方法を教えてください。同様のデータを含んでいますか?

例:

<root> 
<child 1> 
     <child 1.1> 
       <attribute 1></attribute 1> 
       <attribute 2></attribute 2> 
     </child 1.1> 


     <child 1.2> 
       <attribute 1></attribute 1> 
       <attribute 2></attribute 2> 
     </child 1.2> 

</child 1> 

<child 2> 
     <child 2.1> 
       <attribute 1></attribute 1> 
       <attribute 2></attribute 2> 
     </child 2.1> 

     <child 2.2> 
       <attribute 1></attribute 1> 
       <attribute 2></attribute 2> 
     </child 2.2> 
</child 2> 
</root> 

ありがとう!未遂

チュートリアル:

  • とhttp:// developer.android.com/training/basics/network-ops/xml.html
  • ます。http:// theopentutorials.com/tutorials/android/xml/android-simple-xmlpullparser-tutorial/
+0

プル構文解析はコード化が難しいとされていますが、もちろんxmlの構造は複雑です...他のapisにもオープンですか? –

+0

はい、他の人には開いています。私の最終目標は、解析されたデータをフラグメントに含まれるリストビューに提示することです。 – DC5Gator

+0

出力をどのように見せたいかを明確にすることはできますか? –

答えて

0

PullParserがXMLをどのようにループしていたかに焦点を当てて答えを見つけました。一般的に、アンドロイドの開発者向けドキュメントで使用されているスタイルは、例より深く解析するように調整するのが難しいことがわかりました。

私の解決方法は、文書の終わりの解析の手間を省くために「完了」フラグを使用したことに由来します。私の場合、Parserが上記の例からChild 2タグを検出すると、doneフラグを "TRUE"に切り替えるように設定しました。そのようにして、子2の重複属性はすべて無視され、子1の属性のみを受け取りました。

「完了」フラグを使用するためのアイデアは以下のとおりです。

http://www.ibm.com/developerworks/opensource/library/x-android/index.html

は、それが同様の問題を持っている人がお役に立てば幸いです。

関連する問題