我有一个Android应用程序,它从外部XML源获取一些数据。我从其中一个XML元素中删除了一些HTML,但它的格式为:
<p class="x">Some text...</p>
<p>Some more text</p>
<p>Some final text</p>
我想提取中段文字,我该怎么做?正则表达式会是最好的方式吗?我真的不想开始包含外部HTML解析库。
答案 0 :(得分:1)
RegEx match open tags except XHTML self-contained tags
所以,我会问一个包含链接答案的问题:您是否尝试过使用XML解析器?
你也可以从其他一些答案中得到一些想法,但我会尽量避免使用正则表达式。正如Macarse建议的那样,如果可以,请在服务器上清理它。如果没有,将这三个<p>
元素包装在一个根元素中,并使用SAX或其他东西解析它,注意第二段元素。
答案 1 :(得分:0)
如果这很简单,那就做一个正则表达式。
如果您从您拥有的外部源获取XML,我会在那里解析它。
答案 2 :(得分:0)
刚刚进行拆分:http://developer.android.com/reference/java/lang/String.html#split(java.lang.String)
"</p><p>"
上的并且返回数组中的第二个条目实际上很快就会这样做
答案 3 :(得分:0)
正则表达式可能类似于:.*?>(.*?)<.*
您可以通过在Matcher对象上调用group(1)来访问分组内容。
答案 4 :(得分:-1)
如果您要解析从网站下载的XML文件,那么与Android无关。