2

では、次の XML 構造があるとします。

<property>
    <label>Label 1</label>
    <value>value 1</label>
</property>
<property>
    <label>Label 2</label>
    <value>value 2</label>
</property>
<!-- more of these -->

XML ドキュメントを変数 に正しくロードした場合、すべての , ,ノードまたは子のないノードのみvar xmlが返されますか?xml.getElementsByTagName("property")propertylabelvalueproperty

なぜ私がこれを求めているのかというと、次のことができるようになりたいからです。

var props = xml.getElementsByTagName("property");
var labels = props[0].getElementsByTagName("label");

label関数がノードまたはノードを返さない場合、valueそれを行う最善の方法は何ですか?

4

2 に答える 2

5

メソッド「指定されたタグ名を持つすべての子孫getElementsByTagName返す」。Soは、そのようなノードの内容に関係なく、タグ name を持つすべての子、子の子などを返します。もちろん、異なるタグ名を持つノードを返すことはありません。NodeList ElementsgetElementsByTagName("property")property

はい、コード

var props = xml.getElementsByTagName("property");
var labels = props[0].getElementsByTagName("label");

少なくとも 1 つの要素がある場合、ドキュメント内の最初の要素labelsの子の (ライブ) リストに割り当てます。(したがって、堅牢性のために、2 番目のステートメントに進む前に、たとえばそれを確認することをお勧めします。)labelpropertypropertyprops.length > 0

于 2013-09-16T06:44:17.277 に答える