从 xml 节点返回文本时出现问题。这一切都需要是动态的。这是 xml:
<instructions>Some ins text.</instructions>
<options>
<option>1.png</option>
<option>2.png</option>
<option>3.png</option>
<option>4.png</option>
</options>
<noOfOptions>4</noOfOptions>
这是jquery解析代码:
currentPageData.push({
title:$(xml).find("page").attr("name"),
noOfOptions:$(xml).find("noOfOptions").text(),
text:$(xml).find("text").text(),
instructions:$(xml).find("instructions").text(),
option:$(xml).find("option").each(function() {
$(this).text();
}),
问题出在选项部分。这仅返回一个对象。我认为这是因为 .each 函数。但我需要所有这些都存在,并且我需要它在 for 循环中返回文本,如下所示:
for(i=0;i<noOfOptions;i++) {
currentPageData[0].option[0];
}
上面的方法不起作用。我该如何修复它?
谢谢!
最佳答案
要获取选项节点的文本内容,请尝试以下操作...
首先,您的 xml 无效。我添加了一个根节点
var xml = "<root>
<instructions>Some ins text.</instructions>
<options>
<option>1.png</option>
<option>2.png</option>
<option>3.png</option>
<option>4.png</option>
</options>
<noOfOptions>4</noOfOptions>
</root>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$options = $xml.find("option"); // get all option nodes
然后使用 jquery .each 获取每个选项值
$.each($options, function() {
console.log($(this).text());
});
希望有帮助
关于javascript - jquery从单个和多个标签解析xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20350254/