str = '<documents><items><item id="xx"><![CDATA["xx"]]></item><item id="xx"><![CDATA["xx"]]></item><item id="xx"><![CDATA["xx"]]></item></items><selecttions><select id="xx"><![CDATA["xxx"]]></select>
</selecttions></documents>';xml = new ActiveXOjbect( "Msxml2.DOMDocument') ;
xml.loadXML( str );
var nodeList = xml.getElementsByTagName( "item" );
for(i=0;i<nodeList.length;i++)
{
alert(nodeList[i].text);
}
</selecttions></documents>';xml = new ActiveXOjbect( "Msxml2.DOMDocument') ;
xml.loadXML( str );
var nodeList = xml.getElementsByTagName( "item" );
for(i=0;i<nodeList.length;i++)
{
alert(nodeList[i].text);
}
xml = new ActiveXOjbect( "Msxml2.DOMDocument') ;
改成
xml = new ActiveXObject( "Msxml2.DOMDocument") ;
还有,如果我想创建这样的XML对象,应该如何做呢?我不是说拼字符串,有没有创建对象的方法?比如插入结点,给结点赋属性和值。
<!--
var doc = new ActiveXObject("Msxml2.DOMDocument");
//创建文件头
var p = doc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'"); //添加文件头
doc.appendChild(p); //两种方式创建根接点
var root = doc.createNode(1,"documents",""); //创建子接点
var n = doc.createNode(1,"items",""); //创建子接点2
var n2 = doc.createNode(1,"selecttions",""); //创建孙接点2
var o2 = doc.createNode(1,"select","");
//创建数据段
//添加数据段
var c = doc.createCDATASection("\"xx\""); //创建数据段
//添加数据段
var c2 = doc.createCDATASection("\"xxx\"");
//创建孙接点
var o = doc.createNode(1,"item","");
o.appendChild(c);
o2.appendChild(c2); //创建属性
var r = doc.createAttribute("id");
r.value="xx"; //创建属性
var r2 = doc.createAttribute("id");
r2.value="xx"; //添加属性
o.setAttributeNode(r);
o2.setAttributeNode(r2);
//添加孙接点
n.appendChild(o);
n2.appendChild(o2); //添加子接点
root.appendChild(n);
//添加子接点2
root.appendChild(n2); //复制接点
var m = o.cloneNode(true);
//复制接点
var l = o.cloneNode(true); n.appendChild(m);
n.appendChild(l); //添加根接点
doc.appendChild(root);
//查看XML alert(doc.documentElement.xml);//-->
</script>
最后那个问题:
如果我想根据ITEM的ID来获得某一个ITEM的值呢?
再次麻烦解答一下
var a = doc.getElementsByTagName("item");
for(var i= 0;i<a.length;i++)
{
alert(a[i].xml);
for(var j=0;j<a[i].attributes.length;j++)
{
alert(a[i].attributes[j].value);
}
}
var it= xml.selectSingleNode("//*[@id=xx]").text;