0

我有 XML 文件,

<root>
<items>
 <webprotal-gallery>
  <web-portal-urls>http://xxx.xom/image</web-portal-urls>
  <web-portal-urls>http://xxx.xom/image</web-portal-urls>
  <-----   -----------    ---------------   ------------>
 </webprotal-gallery> 
</items>
<items>
<webprotal-gallery>
  <web-portal-urls>http://xxx.xom/image</web-portal-urls>
  <web-portal-urls>http://xxx.xom/image</web-portal-urls>     
 </webprotal-gallery>
</items>
</root>

我想将“web-portal-urls”推入关联数组(键/值)。我的要求是,当用户单击图像时,在另一个页面中显示关联的“webprotal-gallery”。

如何将画廊项目推入数组。

4

1 回答 1

1

尝试

function parseXml(xml){
    var xmlDoc, parser;

    if (window.DOMParser){
        parser=new DOMParser();
        xmlDoc=parser.parseFromString(xml,"text/xml");
    } else {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async=false;
        xmlDoc.loadXML(xml); 
    }

    return xmlDoc;
}

var xml = '<root><items><webprotal-gallery><web-portal-urls>http://xxx.xom/image</web-portal-urls><web-portal-urls>http://xxx.xom/image</web-portal-urls></webprotal-gallery></items><items><webprotal-gallery><web-portal-urls>http://xxx.xom/image</web-portal-urls><web-portal-urls>http://xxx.xom/image</web-portal-urls></webprotal-gallery></items></root>';

var xmlDoc = parseXml(xml);
var urls = [];
var tags = xmlDoc.getElementsByTagName('web-portal-urls');

for(var i = 0; i < tags.length; i++){
    urls.push(tags[i].textContent)
}

console.log(urls)

演示:小提琴

于 2013-05-14T05:41:41.473 回答