【发布时间】:2017-06-15 04:41:26
【问题描述】:
我想从一个 XML 文档中获取多个标签。我查看了this question,它基本上获取了一个标签的子元素,而我想要所有标签。使用相同的 XML 示例(复制如下):
var data =
"<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>";
如何获取“instructions”、“options”和“noOfOptions”的值?
我可以像这样重复代码三遍:
xml = $.parseXML(data),
$data = $( xml ),
$options = $data.find("option"); // get all option nodes
xml = $.parseXML(data),
$data = $( xml ),
$instructions = $xml.find("instructions"); // get instructions
xml = $.parseXML(data),
$data = $( xml ),
$noOfOptions = $xml.find("noOfOptions"); // get noOfOptions
但这似乎不对。有没有正确(和更有效)的方法来做到这一点?我觉得.each函数跟它有关系,但是不太明白怎么用。
【问题讨论】:
-
只有一个
instructions和多个options吗? -
不一定。事实上,大多数时候,我不需要再降一级。
-
我担心
instructions的数量,因为在我的回答中我假设只有一个。如果它可以更多,那么你应该为options 制作一个数组。
标签: javascript jquery xml parsexml