使用XPath进行Java XML解析?
这里是XPath和Java的新手。我想做的是这样的:使用XPath进行Java XML解析?,java,xpath,Java,Xpath,这里是XPath和Java的新手。我想做的是这样的: <A> <B> <C>test 1</C> </B> <B> <C/>test 2</C> </B> <B> <C/>test 3</C> </B> </A> for each XMLDoc.children() as BNode
<A>
<B>
<C>test 1</C>
</B>
<B>
<C/>test 2</C>
</B>
<B>
<C/>test 3</C>
</B>
</A>
for each XMLDoc.children() as BNode
array.append(BNode.getXPathValueAt('B/C'));
end for each
测试1
测试2
测试3
对于每个XMLDoc.children()作为BNode
append(BNode.getXPathValueAt('B/C');
每个都结束
在Java中,有没有一种简单的方法可以使用这样的XPath在XML文档中获得深度嵌套的值?我只需要一种快速简便的方法从一个XML文档中提取XPath值,并最终将其粘贴到hashmap或对象中。您看过。您看过。示例代码。干杯:
public class XPathExample {
static final String XML =
"<A>" +
" <B><C>test 1</C></B>" +
" <B><C>test 2</C></B>" +
" <B><C>test 3</C></B>" +
"</A>";
public static void main(final String[] args) throws Exception {
final XPathFactory xpathFactory = XPathFactory.newInstance();
final XPath xpath = xpathFactory.newXPath();
final InputSource xml = new InputSource(new StringReader(XML));
final NodeList list = (NodeList) xpath.evaluate("A/B/C", xml, XPathConstants.NODESET);
for (int i = 0; i < list.getLength(); i++) {
final Node node = list.item(i);
System.out.println(node.getTextContent());
}
}
}
public类XPathExample{
静态最终字符串XML=
"" +
“测试1”+
“测试2”+
“测试3”+
"";
公共静态void main(最终字符串[]args)引发异常{
最终XPathFactory XPathFactory=XPathFactory.newInstance();
最终XPath=xpathFactory.newXPath();
final InputSource xml=新的InputSource(新的StringReader(xml));
最终节点列表=(NodeList)xpath.evaluate(“A/B/C”,xml,XPathConstants.NODESET);
对于(int i=0;i
示例代码。干杯:
public class XPathExample {
static final String XML =
"<A>" +
" <B><C>test 1</C></B>" +
" <B><C>test 2</C></B>" +
" <B><C>test 3</C></B>" +
"</A>";
public static void main(final String[] args) throws Exception {
final XPathFactory xpathFactory = XPathFactory.newInstance();
final XPath xpath = xpathFactory.newXPath();
final InputSource xml = new InputSource(new StringReader(XML));
final NodeList list = (NodeList) xpath.evaluate("A/B/C", xml, XPathConstants.NODESET);
for (int i = 0; i < list.getLength(); i++) {
final Node node = list.item(i);
System.out.println(node.getTextContent());
}
}
}
public类XPathExample{
静态最终字符串XML=
"" +
“测试1”+
“测试2”+
“测试3”+
"";
公共静态void main(最终字符串[]args)引发异常{
最终XPathFactory XPathFactory=XPathFactory.newInstance();
最终XPath=xpathFactory.newXPath();
final InputSource xml=新的InputSource(新的StringReader(xml));
最终节点列表=(NodeList)xpath.evaluate(“A/B/C”,xml,XPathConstants.NODESET);
对于(int i=0;i