我正在尝试解析包含多个名称为A
的记录的XML文件。每个A
都有多个名为B
的组记录。 B
中的各种记录的名称为x
,y
和z
。
我的问题是:
B
和x
的所有值。将DOM设置为文档(即名称为“A”的元素)
我在Java中使用DOM解析器。
样本记录:
<A>
<B><x>123</x><y>asdf</y><z>A345</z></B>
<B><x>987</x><y>ytre</y><z>Z959</z></B>
</A>
答案 0 :(得分:0)
Document yourDom = ....;
XPathFactory xpf = XPathFactory.newInstance();
XPath xp = xpf.newXPath();
XPathExpression xpe = xp.compile("//A/B/*");
NodeList nodes = (NodeList) xpe.evaluate(yourDom, XPathConstants.NODESET);
答案 1 :(得分:0)
除了直接使用标准DOM API(通常对这些任务有点冗长)之外,您还可以使用jOOX作为jquery - 类似于DOM的包装器。以下是如何使用它的示例:
// Loop over all x element values within B using css-style selectors
for (String x : $(document).find("B x").texts()) {
// ...
}
// Loop over all x element values within B using XPath
for (String x : $(document).xpath("//B/x").texts()) {
// ...
}
// Loop over all x element values within B using the jOOX API
for (String x : $(document).find("B").children("x").texts()) {
// ...
}