java - getElementsByTagName - 失败不一致

标签 java xml xml-parsing getelementsbytagname

我正在使用 Java 应用程序读取 XML 文件并对其进行处理。该应用程序在大多数情况下都有效,但在某些情况下则无效。我有一个包含项目列表的 XML 文档。该应用程序读取文档并编译所述项目的列表,如下所示:

NodeList responseItemNodeList = doc.getElementsByTagName("ns:myElement")

有时会编译列表,有时则不会。我查看了不同的 XML 文档,其中有效的和无效的,对我来说,它们看起来是相同的(除了数据之外)。

任何人都可以建议为什么这偶尔会失败吗?

编辑:我已经尝试过 Xpath,但问题仍然发生。

最佳答案

您需要使用采用命名空间参数和本地名称的 getElementsByTagName,而不是使用前缀限定名称。由于您当前的代码有时可以工作,这可能是因为您没有在 DocumentBuilderFactory 上设置 setNamespaceAware(true)

关于java - getElementsByTagName - 失败不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822836/

相关文章:

python - 使用 etree Python 解析 xml

java - 使用 SAXParser 仅解析 CDATA

java - 带设定长度的正则表达式

java - Realm android, RealmTransformer 好像没有应用

xml - 如何在 xsl 中使用 xsl 变量

Java JAX-WS xs :dateTime with format UTC and Local

java - 使用 java.utils.Stack 时,Play Framework 2.0 无法编译

java - 我如何使用根目录 System.getProperty ("user.home")

xml - TSQL Xquery - 您可以选择重复节点的第一个实例吗?

java - 无法将示例 XML 文件导入/转换为字符串以进行解析