2011-09-19 7 views
7

私はAndroidのXmlPullParserでOpenStreetMap(.osm)ファイルを扱っています。私は特定のデータを作成し、時間(それが核心だ)で、すべてのway-ノード、1つのway-ノード内のND-のノードで動作する必要がXmlPullParser子ノードを取得

<way id='-13264' action='modify' visible='true'> 
    <nd ref='-13252' /> 
    <nd ref='-13251' /> 
    <nd ref='-13249' /> 
    </way> 

:私は問題を抱えている部分がこれですそれらのノード間の構造は正確である。 XmlPullParserの1つのノードのすべての子ノードを取得する便利な方法がないようですので、それらのノードでif/elseif- stuffをたくさん試しましたが、動作させることはできません。誰かが、ノードの子ノードで動作するサンプルコードを私に提供することはできますか?同様の親ノードの子ノードは別にしておきますか?

int eventType=parser.getEventType(); 
    while(eventType!=XmlPullParser.END_DOCUMENT){ 
     if(eventType==XmlPullParser.START_TAG 
       && parser.getName().equals("nd"){ 
       //process your node... 
     } 
     parser.next(); 
    } 
+0

は、まったく同じことを探していましたが、失望しませんでした。ちょうどFYI、私はちょうどjdk/adk https://github.com/spyhunter99/osmreader – spy

+0

@spyからosm.bz2ファイルを読み込むために私のutilを提供しています。共有してくれてありがとう! – FWeigl

答えて

7

これは私がこれを解析する方法を次のとおりです。

+0

少し違うでしょうが、これは私に正しい方向。ありがとう! – FWeigl

+0

@Ascorbin、私は同じ問題に直面しています。私はXmlPullParsingを初めて利用しています。私は私の質問を投稿してくださいこれを確認してくださいhttp://stackoverflow.com/questions/17807718/how-to-get-child-or-sub-tags-in-xml-using-xmlpullparsing-in-android –

+0

私は同じに直面している問題http://stackoverflow.com/questions/39391267/how-can-i-identify-same-xml-tag-second-time –

2

は、次のコードを使用することができます。あなたは自由に使用できますが、自分でWayクラスの実装を思いつく必要があります! :)

List<Way> allWays = new ArrayList<Way>(); 
Way way; 
int eventType; 
while((eventType = parser.getEventType())!=XmlPullParser.END_DOCUMENT){ 
    if(eventType==XmlPullParser.START_TAG) { 
     if("nd".equals(parser.getName()) { 
      way.addNd(parser.getAttributeValue(0)); 
     } 
     else if("way".equals(parser.getName()) { 
      way = new Way(); 
     } 
    } 
    else if(eventType==XmlPullParser.END_TAG) { 
     if("way".equals(parser.getName()) { 
      allWays.add(way); 
     } 
    } 
    parser.next(); 
} 

もちろん、あなたに届いているXMLもわずかに異なりますが、この正確なコードは機能しない可能性があります。再び、私はそれを尋問者のための練習として残します。

+0

私はこれを手伝ってくださいhttp://stackoverflow.com/questions/39391267/how-can-i-identify-same-xml-tag-second-time –

関連する問題