Forum: PC-Programmierung neuen Knoten in xml einfügen


von Frank (Gast)


Lesenswert?

Hallo,
ich habe eine xml mit dem Aufbau
<Adressbuch>
  <Personen>
    <Person Name="xxx">
      <Geburtstag>"xx.x.x</Geburtstag>
      <Email>"xxxxx"</Email>
    </Person>
  </Personen>
</Adressbuch>

Dies möchte ich gerne mit C# weiteren Knoten auffüllen (alos neue 
Personen und INformationen).
1
XmlDocument userXml = new XmlDocument();
2
userXml.Load(@"C:\Users\Documents\Visual Studio 2015\Projects\Adressbook\MyAdressbook.xml");
3
      
4
newElement = userXml.CreateElement("Person");
5
newAttribute = userXml.CreateAttribute("Name");
6
Value = "Test";
7
SetAttributeNode(newAttribute);
8
9
nameElement = userXml.CreateElement("Geburtstag");
10
InnerText = "Test";
11
12
nameElement = userXml.CreateElement("Email");
13
InnerText = "Test";
14
15
AppendChild(nameElement);
16
Save("MyAdressbook.xml");

doch leider ändert bekomme ich keinen neuen Eintrag.

von Da D. (dieter)


Lesenswert?

Ich kann leider überhaupt kein C#. Aber ich hab in 2 Minuten bei google 
die Antwort auf deine Frage gefunden. Vergleich mal deinen Code mit dem 
Beispiel hier:
http://csharp.net-tutorials.com/xml/writing-xml-with-the-xmldocument-class/

von Rolf M. (rmagnus)


Lesenswert?

Ich kenne mich zwar auch nicht mit C# aus, vermute das Problem aber da:

Frank schrieb:
> AppendChild(nameElement);

Wo wird denn das Element da angehängt? Du müßtest doch erstmal dein 
Element <Personen> suchen und deine neue Person dann an das anhängen. 
Generell scheint der Code wenig Sinn zu ergeben.

: Bearbeitet durch User
von Ratzfatz (Gast)


Lesenswert?

Rolf M. schrieb:
> Generell scheint der Code wenig Sinn zu ergeben.

Genau so ist es; da fehlt zumindest jeweils links etwas.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.