1

I am parsing XML with DOM i have some data tags like:

<data>
    <option>abc</option>
    <option>ijk</option>
    <option>fgh</option>
    <option>njk</option>
    <option>klj</option>
    <option>opi</option>
</data>
<data>
    <option>abc</option>
    <option>ijk</option>
    <option>fgh</option>
    <option>njk</option>
    <option>klj</option>
    <option>opi</option>
</data>

I want to insert the options in the list in my layout how can I do the same pls tell. I want that it just parse data of first block and for the next it asks for the trigger event like by clickin on a button.

Thanx in advance.

4

2 に答える 2

1

部分的な XML データを解析したいので、XmlPullParser.

パーサーへの参照をメンバー変数として保持しながら、一度に 1 つのブロックを読み取るメソッドが必要です。

public class PartialXmlParser{
    private XmlPullParser xpp;

    public PartialXmlParser(String xml){
         XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
         factory.setNamespaceAware(true);
         xpp = factory.newPullParser();

         xpp.setInput( new StringReader (xml ) );
    }

    public List<String> getData(){
        List<String> retValue = new List<String>();
        //Logic to read one block of data and add to retValue
        //
        return retValue;

    }
}

getDataコールバックイベントでメソッドを呼び出します(OnClickボタンのように)。データを取得するために、オブジェクトの同じインスタンスを使用することを忘れないでください。

于 2012-05-24T06:35:49.377 に答える
0

Java プラットフォームは、かなり長い間 XML を操作するためのさまざまな方法をサポートしてきました。Java の XML 関連 API のほとんどは、Android で完全にサポートされています。たとえば、Java の Simple API for XML (SAX) と Document Object Model (DOM) はどちらも Android で利用できます。これらの API は両方とも、長年にわたって Java テクノロジの一部でした。新しい Streaming API for XML (StAX) は、Android では使用できません (詳細)。

これは、あなたの問題と同じようにAndroidでxmlを解析する方法の最良の例です.. Android XML SAX Parser Example .Parsing XML in Android (DOM method) is antoher best example for Dom Methodhttp://www.androidhive.info /2011/11/android-xml-parsing-tutorial/.

XmlResourceParser は、XML リソースに対して返される XML 解析インターフェイスです。これは、標準の XmlPullParser インターフェイスであり、拡張された Attribute Set インターフェイスと、クライアントがリソースの読み取りを完了したことを示すためのこのインターフェイスの追加の close() メソッド ( More ) です。

そして、これを見ることを忘れないでください。Android で使用されるパーサー

于 2012-05-24T06:26:25.480 に答える