2011-10-17 14 views
1

私はそれにスライドして、簡単な描画プログラムを作ってるんだと私は、次のスキーマを持つXMLファイルを持っている:すべてのスライドについてはJavaでXML構文解析と店舗情報

を、私は行または複数の線分などを保存しますよう:

NodeList nodeLst = doc.getElementsByTagName("Slide"); 
System.out.println(nodeLst.getLength()); 

を取ると、ノードによって反復:

http://orhancanceylan.com/stack/file.xml

私はこのコードで "スライド" を取っている

Node fstNode = nodeLst.item(i); 

私の繰り返しでは、どのように最初のノード(最初のスライド)の線分や線分を取るべきか分かりませんでした。

これらのXMLはどのように正しく解析する必要がありますか?

ありがとうございました。

答えて

3

おそらく、あなたがあなたのXMLノードを見上げるの汚い仕事をするためにXPathを使用して検討することもでき:

http://download.oracle.com/javase/6/docs/api/javax/xml/xpath/package-summary.html

最初のスライドからわずかセグメントを取得するには、XPathが可能性があり:多分たとえば//Slide[id='0']/segment

、このような何か:

XPathFactory factory = XPathFactory.newInstance(); 
XPath xpath = factory.newXPath(); 
XPathExpression expr = xpath.compile("//Slide[id='0']/segment"); 

そして、与えられたXPath式を使用してドキュメントを評価し、resulte型キャスト:

Object result = expr.evaluate(doc, XPathConstants.NODESET); 
NodeList nodes = (NodeList) result; 

あなたのXMLでちょうど最初のスライドの<segment>ノードを提供します。 XPathを使用してXMLノードをさらに取得する方法については、おそらくその答えから推論することができます。 http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html

+0

ありがとうございました! – CanCeylan

1

簡単に解析したい場合は、完全なオブジェクトを提供するApache Commons Configライブラリに行くことができます。

あなたは、例えば、以下のリンクを参照し、詳細をお知りにドキュメントを移動できます。

http://commons.apache.org/configuration/userguide/howto_beans.html#An_Example

あなたはDOMはJavaでの解析で行く必要がある場合は、以下の文書を参照することができます。

http://www.java-samples.com/showtutorial.php?tutorialid=152