[英]How to get the last attribute in XML with Java?
我有一個像這樣的 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<user>
<account phone ="2000">
</account>
</user>
<user>
<account phone ="2001">
</account>
</user>
<user>
<account phone ="2002">
</account>
</user>
<user>
<account phone ="2003">
</account>
</user>
從 java 代碼,我想獲得最新的手機屬性。 我沒有使用attr.getValue()
的條件,因為這個數據總是更新的,所以我想獲取電話屬性的最新值。
您可以使用以下 xpath 來獲取最后一個用戶的電話屬性:
//user[last()]/account/@phone
這會給你phone ="2003"
。
這是一個 java 片段:
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
XPath xpath = XPathFactory.newInstance().newXPath();
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("input.xml");
String phone = xpath.evaluate("//user[last()]/account/@phone", doc);
System.out.println(phone);
假設您將 xml 解析為org.w3c.dom.Document
,那么以下應該可以工作:
Document doc = parse(xml);
ItemList accounts= doc.getElementsByTagName("account");
Element lastAccount = accounts.item(accounts.getLength()-1);
String phone = lastAccount.getAttribute("phone");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.