代码之家  ›  专栏  ›  技术社区  ›  Yevgeny Simkin

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

  •  0
  • Yevgeny Simkin  · 技术社区  · 16 年前

    例子。..

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

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

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

    我的印象是,CDATA的全部意义在于它保留了你想在那里扔的任何胡言乱语。 我是否使用了错误的xpath表达式?还是我处理这件事完全错了?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Instantsoup    16 年前

    我不确定除了我自己,我在做什么与你不同

    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