![]() |
XML mit C#
Hallo, ich muss ein XML Dokument mit C# zusammenbauen. Dieses Dokument wird aber nicht als Datei gespeichert, sondern dann als Text verschickt.
Ich habe mich hier und im Internet schon umgesehen, aber ich weiß nicht, wie ich:
Beispiel:
XML-Code:
PS: Gibt es irgendwo ein gutes Tutorial zu diesem Thema (XML und C#)? Da bin ich mit Mr. Google nämlich auch nicht richtig fündig geworden. :(
<xml>
<projekt> <interner_name>SuperduperSoftware</interner_name> <beschreibung>geiles Teil</beschreibung> <status>fast fertig</status> </projekt> </xml> |
Re: XML mit C#
Hi, auf Geloleocomputing steht dazu folgendes:
Zitat:
|
Re: XML mit C#
Einfach mal so...
Code:
...:cat:...
using System.Xml;
... XmlDocument xml = new XmlDocument(); XmlNode root = xml.AppendChild(xml.CreateNode(XmlNodeType.Element, "xml", "")); XmlNode project = root.AppendChild(xml.CreateNode(XmlNodeType.Element, "project", "")); project.AppendChild(xml.CreateNode(XmlNodeType.Element, "interner_name", "")).InnerText = "SuperduperSoftware"; project.AppendChild(xml.CreateNode(XmlNodeType.Element, "beschreibung", "")).InnerText = "geiles Teil"; project.AppendChild(xml.CreateNode(XmlNodeType.Element, "status", "")).InnerText = "fast fertig"; textBox1.Text = xml.InnerXml; |
Re: XML mit C#
@matze: Jupp. Mit dem Namespace habe ich ja schon rumprobiert.
@leidensgenosse: Danke. Sieht gut aus. ;) So, da ich das Thema ja etwas allgemein gehalten habe, kann ich hier gleich weiter machen. ;) Jetzt bräuchte ich den umgekehrten Weg. Also das XML Dokument (Beispiel siehe oben)= liegt mir als String vor. Wie komme ich jetzt wieder an die darin enthaltenen Informationen dran. Ich habe da was von XPath gehört. Man gibt also den Pfad zu dem Knoten irgendwie an und kann dann direkt die Informationen auslesen. Habe ich das richtig verstanden? Und wie würde das jetzt konkret aussehen? |
Re: XML mit C#
Ich habe mal versucht mich vorsichtig ranzutasten:
Code:
Aber ich bekomme jedesmal eine Exception, obwohl ich dachte, dass ich es ganuso mache wie in dem Beispiel aus der Hilfe. :gruebel:
try
{ XmlTextReader xmltr = new XmlTextReader(s); xmltr.Read(); lblCurProject.Text = xmltr.Name; xmltr.Close(); } catch (System.Xml.XmlException xmle) { MessageBox.Show(xmle.Message); } Und zwar fliegt es mir hier: XmlTextReader xmltr = new XmlTextReader(s); schon um die Ohren. In s steht aber genau das drinne, was ich weiteroben zusammengebastelt habe: Zitat:
|
Re: XML mit C#
Also den XmlReader mag ich nicht und nutz ich nicht.
Ich mach das immer so:
Code:
XMlDocument xmlDoc=new XmlDocument();
XmlDocument.LoadXML(xmlstring); XmlNode node = new xmlNode(); node=xmlDoc.SelectSingleNode("xml/project/internername"); // evtl. statt Slashes Backslashes, weiß es grad nicht, evtl. muss an den Anfang auch ein Slash MessageBox.Show(node.Text); |
Re: XML mit C#
Hm, das sieht doch schon mal schön aus. Nur sagt er mir hier:
Code:
XmlNode node = new XmlNode();
Zitat:
|
Re: XML mit C#
ups... XmlNode node
reicht aus, es muss nicht extrta eine Objektinstanzt erzeugt werden, is mir grad eingefallen... |
Re: XML mit C#
Also bei mir gibt's kein XmlNode.Text... :gruebel:
Edit: .NET Framework 2 |
Re: XML mit C#
Stimmt.. hab das grad aus'm Kopf geschrieben... hab nachgeguckt, heißt
node.InnerText |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz