如何从javascript中的xml字符串输出特定xml元素的所有值?

时间:2013-05-11 12:04:56

标签: javascript html xml

我得到了一个xml数据作为字符串变量。它有很多套<item>...</item>我想知道如何为所有<name>..</name>集提取<item>的所有数据,并使用javascript将它们输出到textarea?

注意: getjson抓取远程xml并将其作为内容变量: xml设置示例:

<item>
<title>rober album</title>
<link></link>
<description></description>
<location></location>
<image_url></image_url>
<name>robert</name>
</item>

代码:

    <script>
    $.getJSON('http://anyorigin.com/get?url=http://asite.com/feed/latest&callback=?', function(data){
    var Content = data.contents;  
//here i want to parse all name element of remote xml and put it in textarea  
     });
    </script>

</head>
<body>
<td><textarea rows="7" cols="15" name="outputtext" style="width: 99%;"></textarea></td>

1 个答案:

答案 0 :(得分:1)

我已经整理了一个小脚本,几乎可以自己解释。它将循环遍历从字符串加载的XML文档中的所有ITEM节点(在您的情况下为getJSON),并警告所有名称。你应该可以从这里拿走它;)

var xmlData = "<items><item><title>rober album</title><link></link><description></description><location></location><image_url></image_url><name>robert</name></item><item><title>robert 2</title><link></link><description>/description><location></location><image_url></image_url><name>Jack</name></item></items>";

var parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlData,"text/xml");

var items = xmlDoc.getElementsByTagName("item");

for(i = 0; i < items.length; i++)
    alert(items[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);

有关在javascript中使用XML的更多详细信息,请查看w3s上的文档:http://www.w3schools.com/xml/xml_dom.asp