正则表达式与子串

时间:2015-05-04 13:57:36

标签: regex xml-parsing substring

我有一个非常短的xml字符串从另一个应用程序传递到我的应用程序,我只对提取“级别”标记之间的内容感兴趣。在这两者之间哪种解决方案更好:

String xmlString = 
"<type>
<perm>
<date>99999999</date>
<level>admin</level>
</perm>
</type>";

String level = xmlString.substring(xmlString.indexOf("<level>") + "<level>".length(),
                            xmlString.indexOf("</level>"));

 Pattern p1 = Pattern.compile("<level>(\\S+)</level>");
 Matcher m = p1.matcher(xmlString);
 if (m.find()) {
   String level = m.group(1);
 }

1 个答案:

答案 0 :(得分:0)

您是否尝试过自己的基准测试?根据我的阅读,似乎您通常首先要使用正则表达式,如果您无法优化,那么请尝试使用子字符串。但是,我有点困惑,为什么你没有使用XmlObject.factory之类的东西来处理你的XML解析。 https://xmlbeans.apache.org/docs/2.0.0/reference/org/apache/xmlbeans/XmlObject.Factory.html