4

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

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

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

我还design通过使用这个w3school 方法获得了这个根标签。我想获得design-->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教程中引用了这个

我只是提醒name 它导致未定义。如何解决这个问题?

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

4

2 回答 2

2

试一试

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

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

于 2013-08-23T13:53:26.553 回答
1

我会在这件事上赌一把。

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

据我所知,loadXMLDoc() 将从与执行它的文档相同的上下文中加载一个 xml 文档(在本例中为 html 页面)

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

于 2013-08-23T13:56:38.897 回答