2010-12-14 11 views
0

どうにか解析されたXMLファイルが間違っているようですか、何か間違っていますか?Java:解析されたXMLですが、いくつか欠けています

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<root> 
    <quests> 
     <quest id="test"> 
      <question>Just a little sentence.</question> 
     </quest> 
    </quests> 
</root> 

私はそのようにそれを解析:

File file = new File("file.xml"); 

DocumentBuilderFactory dF = DocumentBuilderFactory.newInstance(); 
dF.setNamespaceAware(true); 
DocumentBuilder dB = dF.newDocumentBuilder(); 

Document XML = dB.parse(file); 

// ------------------------------------------ 
Element doc = XML.getDocumentElement(); 
System.out.println(doc.getChildNodes()); 

Element dx = (Element) doc.getElementsByTagName("quest").item(0); 
System.out.println(dx.getAttribute("id")); 
System.out.println(dx.getAttribute("id").length()); 
System.out.println(dx.getAttributes().getLength()); 

そして、これは私が得るものです:

[root: null] 

0 
0 

どのようにそれは可能だろうか?どのように要素/タグ/ノードの属性を解析できますか?

私が間違って見ることができるすべては、あなたが doc.getTagName()をやるべきことであるが、それはただのマイナーである私はあなたのコードを貼り付け、コピーして、これは私が出力

[root: null] 
test 
4 
1 

のために得たものである奇妙な

答えて

0

私はちょうど新しいXMLファイルを作成しました。 は、私はこの問題は多分IDエラーが発生 内部に隠された文字...

3

...

java version "1.6.0_21"

+0

'doc.getTagName()' 'を返しますquest'だったと思うと、私は' Javaのバージョン "1.6.0_12" '' – Poru

0

実際の属性文字列を取得するには、getNodeValue()またはgetTextContent()がないと思います。

+0

GETNODEVALUEを持っています()は 'null'を返し、' getTextContent() 'は' Just a little sentence.'の空白を返します。 – Poru

+0

getAttributes()を使ってすべての属性を出力しようとしましたか?しかし、あなたの例が動くはずだから、私はそこに暗闇の中にいます。 – Jules

関連する問題