J'ai une des données qui ressemblent à ceci:multi-éléments Adjonction à XmlDocument
List<Deal> deals = new List<Deal>
{
new Deal
{
DealNo = "S001",
DealItem = new List<string> { "A001", "A002", "A003" }
},
new Deal
{
DealNo = "S002",
DealItem = new List<string> { "T001", "T002" }
}
};
Et je veux que mon sortie ressemble à ceci:
<Resource>
<ResourceID>
<ResourceBody>
<DealNo>S001</DealNo>
<ItemList>
<Item>A001</Item>
<Item>A002</Item>
<Item>A003</Item>
</ItemList>
<DealNo>S002</DealNo>
<ItemList>
<Item>T001</Item>
<Item>T002</Item>
</ItemList>
</ResourceBody>
</ResourceID>
</Resource>
Je suis coincé à essayer de boucler à travers l'élément ItemList et en ajoutant des nœuds à l'intérieur. Voilà ce que j'ai maintenant:
var xdoc = new XmlDocument();
// This structure is from other parts of the system, I can't change this
xdoc.LoadXml("<Resource><ResourceID><ResourceBody></ResourceBody></ResourceID></Resource>");
foreach (var deal in deals)
{
var node = xdoc.CreateNode("element", "DealNo", "");
node.InnerText = deal.DealNo;
var singleNode = xdoc.SelectSingleNode("Resource/ResourceID/ResourceBody");
singleNode.AppendChild(node);
node = xdoc.CreateElement("ItemList");
singleNode = xdoc.SelectSingleNode("Resource/ResourceID/ResourceBody");
singleNode.AppendChild(node);
}
Comment puis-je boucle à travers tous les « accords » et append à tous les éléments ITEMLIST?
Contraintes: Je suis obligé de travailler avec XmlDocument, cela fait partie des anciens codes.
Hey, merci! Mon cerveau s'est coincé, je ne pouvais vraiment pas penser à ça. Merci encore :) Maintenant, pour traduire cette logique en C/AL ... (J'ai d'abord eu ce problème dans Dynamics NAV, je viens de mettre C# ici parce que le public est plus large) – Farid