java解析内部<p>标记
我需要解析xml内容,并需要在
<p><span>test</span></p> <p><span>test12</span></p> <p>Some text<p><span>test</span></p></p>
在我上面的测试中,最后一个p标签内部有内部p标签。我需要找到p标签的内部p标签。我试了如下
public static void main(String[] args) {
String text= "<p><span>test</span></p> <p><span>test12</span></p> <p>Some text<p><span>test</span></p></p>";
Pattern pattern = Pattern.compile("<p>.*?</p>");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
String match = matcher.group();
//System.out.println("matcher group:"+match);
if (match.lastIndexOf("<p>") > 0) {
//System.out.println("Substring:"+match.substring(match.indexOf("<p>") + "<p>".length(), match.indexOf("</p>")));
text = text.replace(match, "<p>" +match.substring(match.indexOf("<p>") + "<p>".length(), match.indexOf("</p>")).replaceAll("<p>", ""));
}
}
System.out.println("text:"+text);
}
如果有任何简单的方法,请告诉我
# 1 楼答案
看看JAXB
正如其他人所建议的,不要手动执行此操作,而是使用像JAXB这样的现有库
一个易于理解的JAXB hello world示例可以在here中找到