.find()の結果のサブセットを配列として返す方法を理解しようとしています。find()を使用してXMLノードテキストを配列として返す
{"Amino acid motifs", "catalytic domain", "Clostridium tetani", "Dimerization", "Escherichia coli"}
data
と仮定すると:
<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
要素の内部テキストのすべての配列である:私は(これはhereからexercptである)このようなXML文書を持っていますXMLは、上記URLのため$.ajax()
によって返され、このコード:
$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
ことを示しています。私がここで間違っていることは何ですか?
ありがとうございます!あなたがmap()
を使用することができ、選択した要素のプロパティから配列を作成するには
だからを反復処理し、'当量(使用):?代わりに、jQueryの
eq()
メソッドを使用することができますか – Yakそれはまさにそれです。 –