java normalize_java – XPath normalize-space()返回一系列规范化字符串

我需要使用XPath函数normalized-space()来规范化我想要从X

HTML文档中提取的文本:

http://test.anahnarciso.com/clean_bigbook_0.html

我正在使用以下表达式:

//*[@slot="address"]/normalize-space(.)

这在我用来测试XPath表达式的Qizx Studio中非常有效.

let $doc := doc('http://test.anahnarciso.com/clean_bigbook_0.html')

return $doc//*[@slot="address"]/normalize-space(.)

这个简单的查询返回一系列xs:string.

144 Hempstead Tpke

403 West St

880 Old Country Rd

8412 164th St

8412 164th St

1 Irving Pl

1622 McDonald Ave

255 Conklin Ave

22011 Hempstead Ave

7909 Queens Blvd

11820 Queens Blvd

1027 Atlantic Ave

1068 Utica Ave

1002 Clintonville St

1002 Clintonville St

1156 Hempstead Tpke

Route 49

10007 Rockaway Blvd

12694 Willets Point Blvd

343 James St

现在,我想在我的Java代码中使用前一个表达式.

String exp = "//*[@slot=\"address"\"]/normalize-space(.)";

XPath xpath = XPathFactory.newInstance().newXPath();

XPathExpression expr = xpath.compile(exp);

Object result = expr.evaluate(doc,XPathConstants.NODESET);

但是最后一行抛出异常:

无法将XPath值转换为Java对象:必需的类是org.w3c.dom.NodeList;提供的值具有类型xs:string

很明显,我应该改变XPathConstants.NODESET;我尝试了XPathConstants.STRING,但它只返回序列的第一个元素.

我怎样才能获得类似Strings数组的东西?

提前致谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值