读取CDATA的方法

test.xml:
<root>
  <child>
    only text
    <![CDATA[a CDATA text]]>
  </child>
</root>

由于在MSXML 4.0之前的版本,XML的查询语言支持XSL Patterns,并且是默认的查询语言,所以在MSXML 3.0的版本中,可以这样做:

var xmlDoc=new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDoc.load("test.xml");

var root=xmlDoc.documentElement;
var node=root.selectSingleNode("/root/child/cdata()");//xpath中不支持cdata()
alert(node.text);

 由于4.0不再支持XSL Patterns,要获得CDATA只能是这样:

var node=root.selectSingleNode("/root/child");
alert(node.childNodes[1].text);

如果4.0以上,有什么API可以直接获得CDATA的值,请在评论给我留言告诉我 :)

你可能感兴趣的:(xml,api,语言,XSL)