[英]How to add XML child nodes to multiple parent nodes
I have an xml file like this.我有一个这样的xml文件。
<ArrayOfALternateUnitModel>
<ALternateUnitModel>
<UnitId>1048</UnitId>
<Name> CARTON</Name>
</ALternateUnitModel>
<ALternateUnitModel>
<UnitId>2063</UnitId>
<Name> PACKET</Name>
</ALternateUnitModel>
</ArrayOfALternateUnitModel>
what i need is.我需要的是。
<ArrayOfALternateUnitModel>
<ALternateUnitModel>
<UnitId>1048</UnitId>
<Name> CARTON</Name>
<NewChild>new child</NewChild>
</ALternateUnitModel>
<ALternateUnitModel>
<UnitId>2063</UnitId>
<Name> PACKET</Name>
<NewChild>new child</NewChild>
</ALternateUnitModel>
</ArrayOfALternateUnitModel>
My code looks like this.我的代码看起来像这样。
xmlDoc.Load(xmlStream);
XmlElement childElement = xmlDoc.CreateElement("NewChild");
childElement.InnerText = "new child";
XmlNode parentNode = xmlDoc.SelectSingleNode("ArrayOfALternateUnitModel/ALternateUnitModel");
parentNode.AppendChild(childElement);
Output goes like this.输出是这样的。
<ArrayOfALternateUnitModel>
<ALternateUnitModel>
<UnitId>1048</UnitId>
<Name> CARTON</Name>
<NewChild>new child</NewChild>
</ALternateUnitModel>
<ALternateUnitModel>
<UnitId>2063</UnitId>
<Name> PACKET</Name>
</ALternateUnitModel>
</ArrayOfALternateUnitModel>
In the second node its not adding child nodes.在第二个节点中,它没有添加子节点。 How to add child to all parent nodes?
如何将子节点添加到所有父节点?
You take only one first node, so you can try to change these lines:您只需要一个第一个节点,因此您可以尝试更改这些行:
XmlNode parentNode = xmlDoc.SelectSingleNode("ArrayOfALternateUnitModel/ALternateUnitModel");
parentNode.AppendChild(childElement);
On在
XmlNodeList parentNodes = xmlDoc.SelectNodes("ArrayOfALternateUnitModel/ALternateUnitModel");
foreach (XmlNode parentNode in parentNodes)
parentNode.AppendChild(childElement);
Two problems:两个问题:
This should work:这应该有效:
xmlDoc.Load(xmlStream);
foreach (XmlNode parent in xmlDoc.SelectNodes("ArrayOfALternateUnitModel/ALternateUnitModel"))
{
XmlElement childElement = xmlDoc.CreateElement("NewChild");
childElement.InnerText = "new child";
parent.AppendChild(childElement);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.