2016-10-28 9 views
1

私は以下のxmlデータを持っています。私が欲しいものXMLタグで追加が行われていません

<Sports> 
<Oplympics> 

    <CONT Team="All" Country="Some" FLG = "0"> 
     <TeamData Data="1" Data="2" Data="3"/> 
    </CONT> 


    <CONT Team="Aus" Country="Australia" FLG = "0"> 
     <TeamData Player="X1" Player2 = "X2"/> 
    </CONT> 

    <CONT Team="Eng" Country="England" FLG = "0"> 
     <TeamData Player="Y1" Player2 = "Y2"/> 
    </CONT> 
</Oplympics> 

CONTからTeamDataの最初のタグを取り、第二から最後まですべてCONTに追加することです。サンプル出力は、私はこのコードをしようとしています

<Sports> 
<Oplympics> 

    <CONT Team="All" Country="Some" FLG = "0"> 
     <TeamData Data="1" Data="2" Data="3"/> 
    </CONT> 


    <CONT Team="Aus" Country="Australia" FLG = "0"> 
     <TeamData Player="X1" Player2 = "X2"/> 
     <TeamData Data="1" Data="2" Data="3"/> 
    </CONT> 

    <CONT Team="Eng" Country="England" FLG = "0"> 
     <TeamData Player="Y1" Player2 = "Y2"/> 
        <TeamData Data="1" Data="2" Data="3"/> 

    </CONT> 
</Oplympics> 

のようになります。ここで私はTeamDataを取得していますが、forループでは最初の要素が設定されていますが、2番目にはループに入っていません。私は何かが欠けている。すべてのボディは、あなたのコードを持ついくつかの問題があります

var TeamData = Xml.getElementsByTagName('CONT')[0]; 
var CONTTag = Xml.getElementsByTagName('CONT'); 
       for(var i=1; i<CONTTag.length-1; CONTTag++){ 
        CONTTag[i].append(TeamData); 
       } 
+0

あなたは、構文エラー 'Xml.getElementsByTagName(' CONT ')を持っている[0];'。 [0]はXml.getElementsByTagName( 'CONT')[0]である必要があります。 – WalksAway

+0

@WalksAwayええ、それは大丈夫です。私はそれを取り除く。これは私がコードを入力しているときに起こった。私は編集しました。あなたの提案は – David

答えて

1

助けてくださいすることができます: - 「」

  1. 最初の行に構文エラーが削除しますブラケットを開き、角括弧を開いてください。
  2. TeamData変数には実際にTeamDataノードが含まれていません。セレクタを変更する必要があります。
  3. ループは最初のCONTTagノードがコピー元であるため、0ではなく1で始まります。
  4. ループは、CONTTagではなくiをインクリメントする必要があります。ここで

代わりに、これらの修正をあなたのコードです:他の一般的なコメントの

var TeamData = Xml.getElementsByTagName('TeamData')[0]; 
var CONTTag = Xml.getElementsByTagName('CONT'); 
for (var i = 1; i < CONTTag.length; i++) { 
    CONTTag[i].append(TeamData.cloneNode()); 
} 

カップル:

  1. あなたのXMLは、終了タグが欠落しています。
  2. XMLノードには重複した名前の属性が含まれてはいけません。そのためTeamDataノードは現在無効なXMLです。
+0

2番目の意味は何ですか? 2. TeamData変数には実際にTeamDataノードが含まれていません。セレクタを変更する必要があります。私は ' 'のみ最後のタグではなく、すべてで取得しています、これを適用することによって、また – David

+0

をelobrateしてくださいすることができます。 – David

+0

Xml.getElementsByTagName( 'CONT')は、CONTノードの配列を返します。したがって、Xml.getElementsByTagName( 'CONT')[0]は最初の子ノードではなく、その配列から最初のCONTノードを取得しています。 代わりに、TeamDataノードの配列を取得し、最初のものを取得する必要があります。 –

関連する問題