在Java + Android中查找div标签的匹配项

时间:2014-05-28 08:47:30

标签: java android rss

我需要在Java中的String值中出现任何div标记。 字符串中此div标记的位置未知。 任何人都可以帮助任何有用的提示或链接吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

import java.io.StringReader;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathFactory;
import org.xml.sax.InputSource;

public class Demo {

    public static void main(String[] args) throws Exception {
        String xml = "<div><![CDATA[<p>hellowrold</p>]]></div>";
        String xpath = "/div/text()";
        XPath xPath = XPathFactory.newInstance().newXPath();
        String childHtml = xPath.evaluate(xpath, new InputSource(new StringReader(xml)));

        System.out.println(childHtml);

        xpath = "/p";
        String result = xPath.evaluate(xpath, new InputSource(new StringReader(childHtml)));

        System.out.println(result);

    }

}

Xpath用于遍历XML。你可以用XPath做更多的事情。在您的情况下,问题是CDATA标记隐藏您要提取的元素。以上内容可以帮助您逃脱这一切。上面做了什么?首先将CDATA标记作为单独的xml提取,然后在其上应用xpath。