我收到格式奇怪的xmls格式如下:
<File xml:space="preserve">
<Subfile keyword="Store" tag="0">
<Value number="1">Amazon</Value>
</Subfile>
<Subfile keyword="Owner" tag="1">
<Value number="1">Alice Murphy</Value>
</Subfile>
<Subfile keyword="Date" tag="2">
<Value number="1">20161114</Value>
</Subfile>
</File>
在这种情况下,检索价值的最有效方法是什么?#Alice; Alice Murphy&#34;而不必解析整个XML?
感谢。
答案 0 :(得分:4)
您可以使用xpath解析所需的节点。
下面的xpath查找子文件节点的Value节点,其中关键字是“Owner”
// parse the XML as a W3C Document
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.parse(new File("<xml path and filename>"));
XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/File/Subfile[@keyword='Owner']/Value";
Node ownerNode = (Node) xpath.evaluate(expression, document, XPathConstants.NODE);