gpt4 book ai didi

java - 使用 javas xpath 获取唯一集

转载 作者:行者123 更新时间:2023-11-29 08:17:57 25 4
gpt4 key购买 nike

给定以下 xml 文档(假设实际列出的书籍更多)并使用 xpath 的 java 实现。我将使用什么表达式来查找一组唯一的作者姓名?

<inventory>
<book year="2000">
<title>Snow Crash</title>
<author>Neal Stephenson</author>
<publisher>Spectra</publisher>
<isbn>0553380958</isbn>
<price>14.95</price>
</book>

<book year="2005">
<title>Burning Tower</title>
<author>Larry Niven</author>
<author>Jerry Pournelle</author>
<publisher>Pocket</publisher>
<isbn>0743416910</isbn>
<price>5.99</price>
</book>

<book year="1995">
<title>Zodiac</title>
<author>Neal Stephenson</author>
<publisher>Spectra</publisher>
<isbn>0553573862</isbn>
<price>7.50</price>
</book>

<!-- more books... -->

</inventory>

最佳答案

Set<String> uniqueAuthors = new HashSet<String>();
XPathFactory factory = XPathFactory.newInstance();
XPath xPath = factory.newXPath();
XPathExpression expr = xpath.compile("//book/author/text()");
NodeList nodes = (NodeList)expr.evaluate(doc, XPathConstants.NODESET);
for (int i = 0; i < nodes.getLength(); ++i) {
uniqueAuthors.add(nodes.item(i).getNodeValue());
}

我使用了优秀文章“The Java XPath API”作为引用。

XPath 1.0 版通常不能选择不同的值,因此我将作者插入到 Set 中。在 for 循环结束时,该集合将包含所有作者。

关于java - 使用 javas xpath 获取唯一集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2968347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com