【问题标题】:Parsing Inner <p> tags解析内部 <p> 标签
【发布时间】:2015-08-14 10:06:35
【问题描述】:

我需要解析一个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);
}

如果有什么简单的方法可以告诉我。

【问题讨论】:

标签: java string xml-parsing


【解决方案1】:

看看JAXB

按照其他人的建议,不要手动执行此操作,而应使用 JAXB 等现有库。

可以在here 找到一个易于理解的 JAXB hello world 示例。

【讨论】:

    猜你喜欢
    • 2016-01-03
    • 2021-08-07
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多