[英]Parse xml with text and xml tags in same xml tag
我不会用看起来像这样的java解析xml:
<sentence>This is a <a><b>long</b></a> sentence.</sentence>
<sentence>This is a second <a><b>even</b></a> longer sentence.</sentence>
结果,我需要没有xml的整个句子。 我试图用dom4j解析它。 调用函数element.getText()(当前元素是句子标签),我只是得到了在嵌套xml标签中没有文本的句子。
谢谢你的帮助! 问候
将数据保留在xml标记的[CDATA]部分中
<sentence><![CDATA[This is a <a><b>long</b></a> sentence.]]></sentence>
您可以使用XPath选择所有文本节点
String getAllTextContent(Node node) {
List<Node> nodes = node.selectNodes("descendant-or-self::text()");
StringBuilder buf = new StringBuilder();
for ( Node n : nodes ) {
buf.append(n.getText());
}
return buf.toString();
}
// usage
System.out.println(getAllTextContent(doc.selectSingleNode("//sentence")));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.