繁体   English   中英

在Java中从xpath查找包含标签作为子元素的字符串

[英]Find string from xpath which contains tag as child elements In Java

我有以下XML代码的一部分,我想从特定标记中获取字符串。

输入XML:

<subject>
   <title> this title has 5 <sup>+</sup> rating star </title>
</subject>

从上面的XML,我想要一个使用xpath的字符串,例如

预期产量:

"this title has 5+ rating star"

注意:我使用过@XmlPath之类的

@XmlPath('subject/title/text()')
private String title;

但是它返回第二个值作为标题变量(如“星级”)的结果

这就是为什么除非您有非常特殊的要求,否则人们建议不要使用text()的原因。 应用于节点的XPath函数string()返回该节点的字符串值,对于元素来说,该字符串值是所有包含的文本的串联,而忽略标记-这正是您要查找的内容。 所以你想要string(subject/title) 如果您使用的是Java API,请注意,现在的结果将是字符串,而不是节点集。

也许您可以尝试使用string(subject/title) 我暂时无法访问Java,但是字符串操作在XPath中足够普遍。 它应该连接文本内容而没有任何元素的痕迹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM