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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Frank (Gast)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Rolf M. schrieb:
> Generell scheint der Code wenig Sinn zu ergeben.

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.