如何使用Javascript调用xml(标题)标记

时间:2013-08-23 13:14:39

标签: javascript html xml

我有一个xml文件,主根以:

开头
<design title="standard Cards 3.5 x 2" >
      <previews></previews>
      <previews1></previews1>
      <previews2></previews2>
   </design>

我想读取xml文件并获取标题标签并分配选项值。

我还使用此w3school method获得了此design个根标记。我想获取design - &gt; title并存储到我的选择框中:

这是我的代码:

var selectHTML = "";
selectHTML += "<select name='something' id='media' onchange='select();'>";
for (i = 0; i < total.length; i = i + 1) {
    if (total[i] != '') {
        xmlDoc = loadXMLDoc($loc);
        var fruits = xmlDoc.documentElement.nodeName;
        if (fruits) {
            alert(fruits);
            var name = xmlDoc.getElementsByTagName("design")
            alert(name);
        }
        selectHTML += "<option value='" + total[i] + "'>" + name + "</option>";
    }
}
selectHTML += "</select>";

此处xmlDoc=loadXMLDoc($loc);正在调用xml文件的方法。我从w3school tutorial

中引用此方法

我只是警告 name ,结果未定义。怎么解决这个?

我想将 name 值放入我的选择框选项值。如何使用javascript读取xml文件并放入选项值?

2 个答案:

答案 0 :(得分:2)

尝试

var name = xmlDoc.getElementsByTagName("design");
var value = name[0].getAttribute('title')
alert(value);

同样在w3school示例中,loadXMLDoc是一个手动定义的函数。它使用XMLHttpRequest()ActiveXObject("Microsoft.XMLHTTP")根据您的浏览器类型。因此,如果您提出包含loadXMLDoc定义,那么就会出现错误。

答案 1 :(得分:1)

我会对此采取行动。

  • 假设你的$ loc只是文件名...

从我可以告诉loadXMLDoc()将从与执行它的文档(在本例中为html页面)相同的上下文中加载xml文档

如果执行该JavaScript的页面与XMl文件位于不同的目录中,则无法加载。