首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XPath查询提取XML

使用XPath查询提取XML
EN

Stack Overflow用户
提问于 2012-01-04 19:51:36
回答 1查看 1.6K关注 0票数 2

基于我问过的其他问题的帮助,我得到了这个很棒的代码片段:

代码语言:javascript
复制
NodeList nodes = (NodeList)xpath.evaluate( xpathQuery, records, XPathConstants.NODESET );
return nodes.collect { node -> node.getTextContent() }

这允许我在records上执行xpathQuery并获得结果。

我现在要做的就是返回(以字符串形式)结果的原始xml (而不是文本内容)(我意识到这不会产生有效的xml文档)。

这样:

代码语言:javascript
复制
xml = "<root><apple><color>RED</color></apple>…</root>"
xpathQuery = "/root/apple[1]"

将返回:

代码语言:javascript
复制
"<apple><color>RED</color></apple>"

(没有包含的<apple>标记也可以)。有没有简单的方法可以做到这一点?

或者,如果失败了,有没有其他方法来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2012-11-10 00:08:00

这不是很优雅,但可能会很有用:

使用以下命令:

代码语言:javascript
复制
concat('<apple><color>', //root/apple[1]/color, '</color></apple>')

如果您知道结构不会更改,或者对于<apple>中数量未知的更复杂的子元素,可以使用:

groovy提供所有子节点,并使用//root/apple[1]/node().each函数迭代节点,创建字符串填充,然后将它们与原始的//root/apple[1]/color结果组合在一起。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8726414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档