我需要解析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);
}
如果有任何简单的方法,请告诉我。