Hallo, ich habe hier schon einige Beiträge durchgeschaut
und probiert, komme aber nicht zum gewünschten ergebnis
Ich bin ziemlich neu in dem Gebiet XML
Das ist meine XML Datei
<users>
<user0>
<name>MARY</name>
<time>03:23:23</time>
</user0>
<user1>
<name>BETTY</name>
<time>04:54:10</time>
</user1>
<user2>
<name>GEORG</name>
<time>02:59:22</time>
</user2>
<user3>
<name>BRIAN</name>
<time>02:59:11</time>
</user3>
<user4>
<name>JASON</name>
<time>04:33:45</time>
</user4>
<user5>
<name>GARY</name>
<time>04:10:01</time>
</user5>
<user6>
<name>DAVID</name>
<time>03:24:32</time>
</user6>
<user7>
<name>ANN</name>
<time>02:39:05</time>
</user7>
<user8>
<name>ROSE</name>
<time>02:55:55</time>
</user8>
<user9>
<name>ADAM</name>
<time>04:00:01</time>
</user9>
</users>
und da möchte ich gern den Namen und die Zeit herauslesen
und dies als String speichern
string filename = "UserTime.xml";
XmlDocument xml = new XmlDocument();
xml.Load(filename);
XmlNodeList Catalog = xml.GetElementsByTagName("users");
foreach (XmlElement cdelem in Catalog)
{
if (i < 10)
{
XmlNodeList cd = cdelem.GetElementsByTagName("user" + i);
foreach (XmlElement details in cd)
{
string title = details.GetElementsByTagName("name")[0].InnerText;
string t = details.GetElementsByTagName("time")[0].InnerText;
Debug.Log(title);
}
i++;
}
}
ich bekomme aber nur den ersten Wert angezeigt 🙁
Ich weiß echt nicht mehr weiter
Bitte helft mir :rtfm: 🤔
Du kannst entweder mit XmlElement
und und einem XQuery drauf zugreifen; oder eben via DOM und der XElement/XDocument
Klasse.
In diesem Fall ist XDocument für Anfänger intuitiver:
Lade Dir die XML in ein XDocument, schau Dir das Root-Property an und hangle Dich dann mit dem Debugger durch das XML.
[Artikel] Debugger: Wie verwende ich den von Visual Studio?
Die Verarbeitung von XML ist die mit am besten vorhandene Doku des .NET Universums.
Ich bin sicher, dass Du eine geeignete Doku/Tutorial findest, wenn Du danach googlest 😉
zB XDocument.Load Method
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hi,
wer hat denn das XML verbrochen? Ich hoffe nicht du?
Normalerweise sollte da nämlich nicht
<user0></user0>
sondern eher etwas Richtung
<user id="0">...</user>
stehen - das vereinfacht die Verarbeitung nämlich um ein vielfaches...
(Hier könntest du dann nämlich XPATH oder sogar Deserialisierung anwenden...)
Als Beispiel wenn das XML so bleiben sollte:
static void Main(string[] args)
{
string xml = "<users><user0><name>MARY</name><time>03:23:23</time></user0><user1><name>BETTY</name><time>04:54:10</time></user1></users>";
XElement xelem = XElement.Parse(xml);
var users = xelem.Elements(); // holt die direkt untergeordneten Elemente von "users"
foreach(var userEntry in users)
Console.WriteLine(userEntry.Element("name").Value);
Console.ReadLine();
}
LG