【发布时间】:2016-12-04 12:42:29
【问题描述】:
给定xml sn-p:
<AddedExtras>
<AddedExtra Code="1234|ABCD" Quantity="1" Supplier="BDA"/>
<AddedExtra Code="5678|EFGH" Quantity="1" Supplier="BDA"/>
<AddedExtra Code="9111|ZXYW" Quantity="1" Supplier="BDA"/>
<AddedExtra Code="9188|ZXYF" Quantity="1" Supplier="BDA"/>
<AddedExtra Code="9199|ZXYG" Quantity="1" Supplier="BDA"/>
</AddedExtras>
下面的 sn-p 将上述 xml 读取为已解析的 doc,并使用 xpath 表达式提取“代码”属性:
public String getNodeValuesFromNodeList(Document doc, String expression){
NodeList nodeList = null;
try {
nodeList = (NodeList) xpath.compile(expression).evaluate(doc, XPathConstants.NODESET);
} catch (XPathExpressionException e) {
e.printStackTrace();
}
return nodeList.toString();
}
返回的列表是一个对象 (org.apache.xml.dtm.ref.DTMNodeList@58cf8f94) 而不是字符串列表 - 我如何返回 nodeList 以便它返回以下字符串列表:
Code="1234|ABCD
Code="5678|EFGH
Code="9111|ZXYW
Code="9188|ZXYF
Code="9199|ZXYG
那么,我怎样才能只返回前 2 个(例如)?
【问题讨论】: