【发布时间】:2016-04-20 06:38:05
【问题描述】:
我试图弄清楚如何将 .find() 结果的子集作为数组返回。我有一个这样的 XML 文档(这是来自here 的摘录):
<MeshHeadingList>
<MeshHeading>
<DescriptorName MajorTopicYN="N" UI="D020816">Amino Acid Motifs</DescriptorName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N" UI="D020134">Catalytic Domain</DescriptorName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N" UI="D003017">Clostridium tetani</DescriptorName>
<QualifierName MajorTopicYN="N" UI="Q000201">enzymology</QualifierName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N" UI="D019281">Dimerization</DescriptorName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N" UI="D004926">Escherichia coli</DescriptorName>
<QualifierName MajorTopicYN="N" UI="Q000201">enzymology</QualifierName>
</MeshHeading>
</MeshHeadingList>
我想要的是一个包含DescriptorName 元素的所有内部文本的数组:
{"Amino acid motifs", "catalytic domain", "Clostridium tetani", "Dimerization", "Escherichia coli"}
假设data是$.ajax()为上述URL返回的XML,这段代码:
$xml = $(data);
var descriptors = $xml.find("DescriptorName");
console.log(descriptors);
日志
Amino acid motifscatalytic domainClostridium tetaniDimerisationEscherichia coli
同时,遍历descriptors 并尝试console.log(descriptors[i].text()); 表明descriptors[i].text is not a function。有什么想法我在这里做错了吗?
谢谢!
【问题讨论】: