Java 在XML中嵌入XHTML
我试图将XHTML嵌入到XML节点中,如下所示: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
<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);
}