我是 xpath 的新手,我從未在 java 上處理過(guò) xml。我想從 xml 中獲取值。標(biāo)簽前面可能有也可能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:。但是在運(yùn)行時(shí)我沒有得到 ListNodes !那么有什么問題呢?
1 回答

開心每一天1111
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
您正在尋找名為 的元素mgns1:CODREG
,其中 mgns1 表示名稱空間urn:edeveloper.Fournisseurs1031af
。
在您向我們展示的 XML 文檔中,命名空間中沒有元素urn:edeveloper.Fournisseurs1031af
。那么為什么你會(huì)期望你的表達(dá)式選擇任何東西呢?
此外,您只是在尋找所提供的直接子node
節(jié)點(diǎn),而您還沒有告訴我們這個(gè)節(jié)點(diǎn)是什么。也許您想尋找所有后代,而不僅僅是直系子女?
添加回答
舉報(bào)
0/150
提交
取消