[英]Java XML - nested elements with same name
如何使用Java XML到達具有相同名稱和遞歸包含的元素? 這已經在python ElementTree中工作了,但是由於某種原因,我需要讓它在Java中運行。
我努力了:
String filepath = ("file.xml");
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(filepath);
NodeList nl = doc.getElementsByTagName("*/*/foo");
例
<foo>
<foo>
<foo>
</foo>
</foo>
</foo>
似乎給人的印象是getElementsByTagName
采用XPath表達式。 沒有。 根據記錄:
返回具有給定標簽名稱並按文檔順序包含在文檔中的所有Elements的NodeList。
如果需要使用XPath,則應查看javax.xml.xpath
包。 樣例代碼:
Object set = xpath.evaluate("*/*/foo", doc, XPathConstants.NODESET);
NodeList list = (NodeList) set;
int count = list.getLength();
for (int i = 0; i < count; i++) {
Node node = list.item(i);
// Handle the node
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.