簡體   English   中英

Java XML-具有相同名稱的嵌套元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM