是否可以在java中使用xpath来获取包含HTML的cdata节点的内容

时间:2009-02-11 20:19:13

标签: java xpath

...示例

<xml>
<level1>
<level2>
<![CDATA[ Release Date: 11/20/09 <br />View Trailer ]]>
</level2>
</level1>
</xml>

当我使用inFeed.getXpath()。evaluate(“xml / level1 / level2”,myNodeList);

我得到“发布日期:11/20/09查看预告片”

我的印象是,CDATA的重点在于它保留了你在那里投入的任何笨蛋。 我使用错误的xpath表达式吗?或者我只是接近这一切都错了?

1 个答案:

答案 0 :(得分:3)

不确定我的做法与你不同,但对我而言

public class XpathFun
{
    public static void main(String[] args) throws Exception
    {
        String xml = "<xml><level1><level2><![CDATA[ Release Date: 11/20/09 <br />View Trailer ]]></level2></level1></xml>";
        InputSource inputSource = new InputSource(new ByteArrayInputStream(xml.getBytes()));
        System.out.println(XPathFactory.newInstance().newXPath().evaluate("xml/level1/level2", inputSource));
    }
}

结果:

Release Date: 11/20/09 <br />View Trailer