我正在使用 Java 应用程序读取 XML 文件并对其进行处理。该应用程序在大多数情况下都有效,但在某些情况下则无效。我有一个包含项目列表的 XML 文档。该应用程序读取文档并编译所述项目的列表,如下所示:
NodeList responseItemNodeList = doc.getElementsByTagName("ns:myElement")
有时会编译列表,有时则不会。我查看了不同的 XML 文档,其中有效的和无效的,对我来说,它们看起来是相同的(除了数据之外)。
任何人都可以建议为什么这偶尔会失败吗?
编辑:我已经尝试过 Xpath,但问题仍然发生。
最佳答案
您需要使用采用命名空间参数和本地名称的 getElementsByTagName
,而不是使用前缀限定名称。由于您当前的代码有时可以工作,这可能是因为您没有在 DocumentBuilderFactory
上设置 setNamespaceAware(true)
。
关于java - getElementsByTagName - 失败不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822836/