Avatar billede hojgaard Nybegynder
23. september 2005 - 12:42 Der er 1 løsning

Tilføj node til subnode

Hej E,

Jeg prøver på at oprette et xml dokument i en løkke.
Jeg har et array af 'items'. Hver item har: id, parentId, name.

Mit problem er, at jeg ikke kan tilføje en node til en subnode.

Lidt pseudo kode:
-------------------------------------------
- Så længe der er flere items
    - Tilføj item under noden der har attributten ID=items.parentId


Lidt kode:
// Opretter nyt xml dokument.
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlRoot = xmlDoc.CreateElement("Folders");

// Tilføjer node til xml dokumentet.
// Denne node skal alle andre items skal indsættes under.
System.Xml.XmlElement element = xmlDoc.CreateElement("Folder");
System.Xml.XmlAttribute attributeId = xmlDoc.CreateAttribute("ID");
attributeId.Value = itm.ID;

element.Attributes.Append(attributeId);
System.Xml.XmlAttribute attributeText = xmlDoc.CreateAttribute("Text");
attributeText.Value = itm.Name;
element.Attributes.Append(attributeText);

xmlRoot.AppendChild(element);

// Her vil jeg kunne tilføje et child til noden med et bestemt ID!
for (int i = 0; i < items.Length; i++)
{
    System.Xml.XmlNode parentNode = xmlRoot.SelectSingleNode("//node[@ID='" + items[i].ParentID + "']");

    System.Xml.XmlElement childElement = xmlDoc.CreateElement("Folder");
    System.Xml.XmlAttribute childAttributeId = xmlDoc.CreateAttribute("ID");
    childAttributeId.Value = items[i].ID;
    childElement.Attributes.Append(childAttributeId);

    System.Xml.XmlAttribute childAttributeText = xmlDoc.CreateAttribute("Text");
    childAttributeText.Value = items[i].Name;
    childElement.Attributes.Append(childAttributeText);
}
xmlDoc.AppendChild(xmlRoot);

Hvad gør jeg forkert??
Avatar billede hojgaard Nybegynder
23. september 2005 - 13:08 #1
Fik det til at virke :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester