使用javascript修改xml

时间:2012-06-01 14:07:54

标签: javascript xml

我开始学习xml,我遇到了一个问题。我需要在xml文件中添加元素,所以我使用这个方法:

function newNode() 
{
    var xmlDoc = loadXMLDoc("Nodes.xml");

    var nodes = xmlDoc.documentElement;
    var newNode = xmlDoc.createElement('node');
    var newName = xmlDoc.createElement('name');
    var newText = xmlDoc.createTextNode('Start Node');

    newName.appendChild(newText);
    newNode.appendChild(newName);
    xmlDoc.documentElement.appendChild(newNode);

    alert(xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue);

    return xmlDoc;
}

它工作正常,警报显示“启动节点”,但是当我使用与以下相同的警报命令时:

function z() 
{
    var xmlDoc = loadXMLDoc("Nodes.xml");
    alert(xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue);
}

我收到此错误:无法获取属性'childNodes'的值:object为null或undefined。

2 个答案:

答案 0 :(得分:0)

在运行z函数之前,您能否发送一个XML文件示例?

根据我在这里看到的,它只是意味着文档中没有“name”节点,这意味着getElementsByTagName(“name”)= [],这解释了为什么getElementsByTagName(“name”)[0]未定义

答案 1 :(得分:0)

我讨厌成为那个人,但是可以使用jQuery,dojo,mootools或者我最近最喜欢的zepto(如果你不需要支持旧的IE)来轻松修改和遍历XML。