日期:2014-05-20  浏览次数:21005 次

如何解析CDATA
<?xml version="1.0" encoding="gb2312" ?> 
- <rss version="2.0">
- <channel>
- <item>
- <description>
- <![CDATA[  
  油价格仍低于其发行价,市场预期其将继续增持。加上目前油价反弹有所趋缓,且市场传言国内近期将再次上调成品油定价,中石油本周表现抢眼,日k线走出v型反转走势。若今日内地股市走稳,香港中石油有望冲击9港元大关,如投资者看好中石油...
  
  ]]> 
  </description>
  </item>
  </channel>
  </rss>
这是我的一个XML 我想解析出CDATA中的内容 尝试了很多方法 都取不出来的 都是NULL 望高手给给小程序解决这个问题 万分感谢

------解决方案--------------------
你用什么解析的~?怎么解析的?
CDATA只表示中间是一段完整的片段,不受一些特殊符号的影响,没别的作用,直接获取description的值应该就可以了
------解决方案--------------------
Java code

    public  static  void  main(String[]  args)  throws  Exception  {  
        DocumentBuilderFactory  dbf  =  DocumentBuilderFactory.newInstance();  
        DocumentBuilder  db  =  dbf.newDocumentBuilder();  
        Document  doc  =  db.parse(new  FileInputStream("C:\\q.xml"));  
        Element  e  =  doc.getDocumentElement();  
        printChildNodes(e.getChildNodes());
    } 
    
    public static void printChildNodes(NodeList list) {
        for  (int  i  =  0;  i  <  list.getLength();  i++)  {  
            Node  n  =  list.item(i);  
            System.out.println(n.getNodeName() + " : " + n.getNodeValue());
            printChildNodes(n.getChildNodes());
        }  
    }