使用javascript将xml值推送到数组中

时间:2013-05-14 05:24:20

标签: javascript

我有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'推送到关联数组(键/值)。 我的要求是,当用户点击图片时,在另一个页面中显示assosiative“webprotal-gallery”。

如何将图库项目推送到数组中。

1 个答案:

答案 0 :(得分: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)

演示:Fiddle