提问人:cahen 提问时间:2/26/2016 更新时间:2/26/2016 访问量:82
在 XML 中嵌入 XHTML
Getting XHTML embedded in XML
问:
我正在尝试将XHTML嵌入到XML节点中,如下所示:
<entry xmlns="http://www.w3.org/2005/Atom">
...
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>some text</p>
</div>
</content>
...
</entry>
我希望得到:
<div xmlns="http://www.w3.org/1999/xhtml">
<p>some text</p>
</div>
但我得到的只是:
some text
到目前为止,这是我的代码:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder db = factory.newDocumentBuilder();
Document doc = db.parse(methodeArticleXml);
System.out.println(doc.getElementsByTagName("content").item(0).getTextContent());
解析器将内容视为 XML 而不是 XHTML 或纯文本,有没有办法解决这个问题?
我无法更改文档的格式,因此无法使用 CDATA。
答:
0赞
lance-java
2/26/2016
#1
这是一个带有正则表达式的黑客
Pattern pattern = Pattern.compile("<content[^>]*>(.*?)</content>", Pattern.DOTALL);
Matcher matcher = pattern.matcher(xml);
while (matcher.find()) {
String content = matcher.group(1);
doStuff(content);
}
评论
getTextContent()