XML 标签中没有追加
Appending is not happening in XML tag
我有下面给出的 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 循环中它为第一个元素设置,但第二个它没有进入循环。我错过了什么吗?任何人都可以帮忙
var TeamData = Xml.getElementsByTagName('CONT')[0];
var CONTTag = Xml.getElementsByTagName('CONT');
for(var i=1; i<CONTTag.length-1; CONTTag++){
CONTTag[i].append(TeamData);
}
您的代码存在一些问题:
- 第一行有语法错误 - 删除“.”关闭之间
括号和左方括号。
- TeamData 变量实际上并不包含 TeamData 节点 - 选择器需要更改。
- 循环应该从 1 开始,而不是零,因为第一个 CONTTag 节点是您要从中复制的节点。
- 循环应该递增 i,而不是 CONTTag。
这是您的代码,其中包含这些修复:
var TeamData = Xml.getElementsByTagName('TeamData')[0];
var CONTTag = Xml.getElementsByTagName('CONT');
for (var i = 1; i < CONTTag.length; i++) {
CONTTag[i].append(TeamData.cloneNode());
}
其他一些一般性评论:
- 您的 XML 缺少结束标记。
- XML 节点不应具有重名的属性 - 因此您的 TeamData 节点目前无效 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 循环中它为第一个元素设置,但第二个它没有进入循环。我错过了什么吗?任何人都可以帮忙
var TeamData = Xml.getElementsByTagName('CONT')[0];
var CONTTag = Xml.getElementsByTagName('CONT');
for(var i=1; i<CONTTag.length-1; CONTTag++){
CONTTag[i].append(TeamData);
}
您的代码存在一些问题:
- 第一行有语法错误 - 删除“.”关闭之间 括号和左方括号。
- TeamData 变量实际上并不包含 TeamData 节点 - 选择器需要更改。
- 循环应该从 1 开始,而不是零,因为第一个 CONTTag 节点是您要从中复制的节点。
- 循环应该递增 i,而不是 CONTTag。
这是您的代码,其中包含这些修复:
var TeamData = Xml.getElementsByTagName('TeamData')[0];
var CONTTag = Xml.getElementsByTagName('CONT');
for (var i = 1; i < CONTTag.length; i++) {
CONTTag[i].append(TeamData.cloneNode());
}
其他一些一般性评论:
- 您的 XML 缺少结束标记。
- XML 节点不应具有重名的属性 - 因此您的 TeamData 节点目前无效 XML。