我加載某些XML字符串是這樣的:爲什麼getLocalName()返回null?
Document doc = getDocumentBuilder().parse(new InputSource(new StringReader(xml)));
後來,我提取節點從這個Document
:
XPath xpath = getXPathFactory().newXPath();
XPathExpression expr = xpath.compile(expressionXPATH);
NodeList nodeList = (NodeList)expr.evaluate(doc, XPathConstants.NODESET);
Node node = nodeList.item(0);
現在我想要得到這個節點的本地名字,但我得到null
。
node.getLocalName(); // return null
與調試,我看到我的節點有以下類型:DOCUMENT_POSITION_DISCONNECTED。
The Javadoc指出,對於這種類型的節點getLocalName()
回報null
。
- 爲何節點類型DOCUMENT_POSITION_DISCONNECTED,而不是ELEMENT_NODE?
- 如何「轉換」節點的類型?
如何顯示一個最小但完整的樣本來讓我們重現問題?向我們展示'xml'和'expressionXPATH'。 –
你有沒有使用名稱空間感知'DocumentBuilderFactory'? –
至少,顯示您正在使用的XPath表達式。 – VGR