Java:已解析 XML,但缺少一些内容

标签 java xml

不知何故,解析的 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

怎么会这样呢?如何解析元素/标签/节点的属性?

最佳答案

奇怪的是,我刚刚复制粘贴了你的代码,这就是我得到的输出

[root: null]
test
4
1

我认为错误的是你应该做 doc.getTagName() 但这只是次要的......

java 版本“1.6.0_21”

关于Java:已解析 XML,但缺少一些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4444439/

相关文章:

java - 为什么 CMD 无法识别 javadoc 命令?

java - 多次按下排序按钮时排序表错误?

ruby - 使用 Ox 生成带有 cdata 的 XML?

c# - 从 XSD 生成的类不适用于 XmlSerializer

android - 在(android)xml资源android :text to have variable format float precision?中是否有可能

java - Android getAltitude 基于大气压和传感器压力

java - 将 forEachOrdered 与并行流一起使用的好处

java - 无法将名称解析为 (n) 'type definition' 组件

java - 根据某些规则过滤集合的最佳方法

Python lxml xpath XPathEvalError : Invalid expression -- why?