0
当我尝试遍历库节点的子节点时,它不会返回nodevalue,它应该读取'Joe Bloggs'和'#text'作为节点名称,当它应该读取'属性'。任何人都可以看到我的JavaScript或XML可能是错误的。不能遍历XML文档
<gallery_index>
<gallery id="0">
<property id="name">Joe Bloggs</property>
<property id="description"><p>testtest</p></property>
<property id="thumbnail_path">/images/thumb.jpg</property>
<property id="weblink">http://www.cnn.com</property>
<property id="client"></property>
<assets/>
</gallery>
</gallery_index>
Javascript。
// code for IE
if (window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
xmlDoc.async=false;
xmlDoc.load("../../../../../../../../xml/gallery_index.xml");
galleryIndexNode = xmlDoc.documentElement;
galleryNode = galleryIndexNode.firstChild;
alert(galleryNode.firstChild.nodeName);
编辑:
OK,改变了下面的JavaScript。如果我这样做,nodeName和nodeValue将显示。
alert(galleryNode.childNodes[1].nodeName);
。 。 。 。 。
alert(galleryNode.childNodes[3].nodeName);
我的XML格式严重吗?它显示在FF罚款。我能做些什么来解决这个问题?
我不如果你可以让我更困惑。 – madphp 2009-10-30 10:23:04
想想我明白你的意思了。 Sorrt。我做了改变。 – madphp 2009-10-30 10:38:40
XML没有什么问题,这只是DOM的工作方式。 如果您希望使用所有子元素执行操作,但忽略所有其他类型的节点,则应循环检查每个孩子的nodeType为1(ELEMENT_NODE)。 – 2009-10-30 11:36:03