我有XML:
<note>
<value>1</value>
<value>2</value>
<value>3</value>
</note>
写在jQuery上:
xml = "<note><value>1</value><value>2</value><value>3</value></note>";
xmlDoc = $.parseXML(xml);
$xml = $(xmlDoc);
$value = $xml.find("value");
alert($value.text());
输出:123
如何按队列输出1,2,3?
答案 0 :(得分:1)
$value
是一组value
元素,因此.text()将返回集合中所有元素的组合文字。
由于您希望单独使用每个值,因此可以遍历元素集$value
并处理值,如
var log = (function() {
var $log = $('#log');
return function(msg) {
$('<p/>', {
text: msg
}).appendTo($log)
}
})();
xml = "<note><value>1</value><value>2</value><value>3</value></note>";
xmlDoc = $.parseXML(xml);
$xml = $(xmlDoc);
$value = $xml.find("value");
$value = $xml.find("value");
$value.each(function() {
log($(this).text());
//alert($(this).text());
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="log"></div>
&#13;
答案 1 :(得分:0)
尝试这样的事情
xml = "<note><value>1</value><value>2</value><value>3</value></note>";
xmlDoc = $.parseXML(xml);
$xml = $(xmlDoc);
$value = $xml.find("value");
len=$value.length;
$value.each(function(index ){
if(index != len-1)
console.log($(this).text()+',');
else
console.log($(this).text());
});
答案 2 :(得分:0)
如果需要,您可以使用.map()
方法获取所有值的数组,然后使用逗号分隔的字符串:
var xml = "<note><value>1</value><value>2</value><value>3</value></note>",
xmlDoc = $.parseXML(xml),
$xml = $(xmlDoc),
$value = $xml.find("value"),
values = $value.map(function(i,v) {
return $(v).text();
})
.get()
.join(', ');
$('.values').append( values );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="values"></div>'