如何以XML格式打印前十个数据的列表

时间:2018-06-15 12:25:51

标签: java parsing xpath

目前我只获得第一个带声望的DisplayName> 100.如何打印10个第一个DisplayName? 像输出一样,我想获得10个第一个DisplayName with Reputation>的列表100。

这是我的主文件:

String output = (String) xPath.evaluate(
    "/users/row[@Reputation>'100']/@DisplayName", 
    doc2.getDocumentElement(),
    XPathConstants.STRING);
System.out.println("DisplayName for user with Reputation > 100: " + output);

2 个答案:

答案 0 :(得分:2)

尝试position()语法

/users/row[@Reputation>'100' and position() < 11]/@DisplayName

根据Xpath Syntax

  

/书店/书[位置()&LT; 3]

     

选择作为bookstore元素的子元素的前两个book元素

答案 1 :(得分:0)

xPath.evaluate可以返回各种对象类型。这由第三个参数控制,您已将其指定为“XPathConstants.STRING”。

我相信您正在寻找XPathConstants.NODESET,例如:

NodeList nodes = (NodeList)xPath.evaluate("/users/row[@Reputation>'100']/@DisplayName", doc2.getDocumentElement(), XPathConstants.NODESET);

我留给你查找XPath NodeSet的API。