我是 xpath 的新手,我从未在 java 上处理过 xml。我想从 xml 中获取值。标签前面可能有也可能mgns1:没有。所以我写了这段代码:private List<String> parse(Node node, String file) throws XPathExpressionException { XPath xpath = XPathFactory.newInstance().newXPath(); xpath.setNamespaceContext(new NamespaceContext() { public String getNamespaceURI(String prefix) { return prefix.equals("mgns1") ? "urn:edeveloper.Fournisseurs1031af" : null; } public Iterator<?> getPrefixes(String val) { return null; } public String getPrefix(String uri) { return null; } }); Node node_codreg = (Node) xpath.evaluate("mgns1:CODREG", node, XPathConstants.NODE); ...}我尝试使用没有 .xml 的 xml mgns1:。但是在运行时我没有得到 ListNodes !那么有什么问题呢?
1 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
您正在寻找名为 的元素mgns1:CODREG
,其中 mgns1 表示名称空间urn:edeveloper.Fournisseurs1031af
。
在您向我们展示的 XML 文档中,命名空间中没有元素urn:edeveloper.Fournisseurs1031af
。那么为什么你会期望你的表达式选择任何东西呢?
此外,您只是在寻找所提供的直接子node
节点,而您还没有告诉我们这个节点是什么。也许您想寻找所有后代,而不仅仅是直系子女?
添加回答
举报
0/150
提交
取消