Java 在XML中嵌入XHTML

Java 在XML中嵌入XHTML,java,dom,xml-parsing,xhtml,Java,Dom,Xml Parsing,Xhtml,我试图将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> </conten

我试图将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>
这是我到目前为止的代码:

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。

这里有一个正则表达式的黑客攻击

Pattern pattern = Pattern.compile("<content[^>]*>(.*?)</content>", Pattern.DOTALL);
Matcher matcher = pattern.matcher(xml);
while (matcher.find()) {
    String content = matcher.group(1);
    doStuff(content);
}
Pattern=Pattern.compile(“]*>(.*)”,Pattern.DOTALL);
Matcher-Matcher=pattern.Matcher(xml);
while(matcher.find()){
字符串内容=matcher.group(1);
doStuff(内容物);
}

这是一个使用正则表达式的黑客

Pattern pattern = Pattern.compile("<content[^>]*>(.*?)</content>", Pattern.DOTALL);
Matcher matcher = pattern.matcher(xml);
while (matcher.find()) {
    String content = matcher.group(1);
    doStuff(content);
}
Pattern=Pattern.compile(“]*>(.*)”,Pattern.DOTALL);
Matcher-Matcher=pattern.Matcher(xml);
while(matcher.find()){
字符串内容=matcher.group(1);
doStuff(内容物);
}

您正在调用
getTextContent()
它将只获取纯文本内容。您正在调用
getTextContent()
它将只获取纯文本内容。
Pattern pattern = Pattern.compile("<content[^>]*>(.*?)</content>", Pattern.DOTALL);
Matcher matcher = pattern.matcher(xml);
while (matcher.find()) {
    String content = matcher.group(1);
    doStuff(content);
}