我有这样的XML结构,当我使用NodeList nList =doc.getElementsByTagName(“stock”)时,它返回3个股票,2个主股票标签和一个子股票标签。我只想得到两只股票,这是在较高的水平,并忽略所有的子股票标签。
有没有可能在Java中用C#做一些像LINQ query这样的东西,比如只返回name等于"Sony“的元素。
谢谢!
<city>
<stock>
<name>Sony</name>
</stock>
<stock>
<name>Panasonic</name>
<substocks>
<stock>
<name>Panasonic Shop 2</name>
</stock>
</substocks>
</stock>
</city>发布于 2012-03-19 00:07:38
还有一个带有强大的XPath导航功能的dom4j库:
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
SAXReader reader = new SAXReader();
Document document = reader.read("test.xml");
List list = document.selectNodes("/city/stock/name[text()='Sony']");
for (Iterator iter = list.iterator(); iter.hasNext(); ) {
// TODO: place you logic here
}更多的例子是here
https://stackoverflow.com/questions/9758944
复制相似问题