不知何故,解析后的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
怎么可能?我如何解析元素/标签/节点的属性?
答案 0 :(得分:3)
很奇怪我只是复制粘贴你的代码,这就是我得到的输出
[root: null]
test
4
1
我所能看到的错误就是你应该做doc.getTagName()
但这只是次要的......
java version "1.6.0_21"
答案 1 :(得分:0)
我认为缺少getNodeValue()或getTextContent()来获取实际的属性字符串。
答案 2 :(得分:0)
我刚刚创建了一个新的XML文件,并且它可以正常工作! 我认为问题可能是id中隐藏的角色 这会导致错误......