Spezielle Parsen von XML in ein array
Also wenn ich XML, das sieht ungefähr so aus....
<people>
<person>
<name>a</name>
</person>
<person>
<name>b</name>
</person>
</people>
Was ist der beste/einfachste Weg, um zu analysieren, diese in ein C# array mit dem Namen 'Menschen', wo die Leute[0] ist die erste person, Objekt, und dann, wie würde es formatiert und wie würde ich mich über darauf zugreift?
Dank!
- Was habt Ihr bereits?
- Ein guter Ort, um zu starten wäre msdn.microsoft.com/en-us/library/bb387067.aspx
- Sie können entweder mit XmlReader oder Linq to Xml oder XmlSerialization Sie können jetzt Lesen Sie etwas und kommen zurück mit konkreten Fragen
- das Beispiel in dem Artikel, den Sie zeigte, um so baaad - besonders für Anfänger. Sie können das gleiche tun, ohne Aggregate, die nur dadurch
Console.WriteLine(string.Concat(root.DescendantNodes().OfType<XText>()));
- viel einfacher und wahrscheinlich viel, viel schneller.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie LINQ-To-Xml laden Sie diese Datei in ein array.
Einfach zu handhaben, das Objekt nach dem laden konnte man erstellen Sie eine Klasse, die eine person:
Laden Sie dann die Datei mit dem
XElement.Last
-Methode:using System.Linq;
sollte das Problem beheben...Können Sie es leicht tun mit LinqToXml:
Wird es wieder ein array von
Person
's wie folgt definiert.Person
Mein C# ist rostig, aber das ist einfach genug, mit XML-Serialisierung
Deserialisieren (Lesung), modifizieren, dann mit der Serialisierung (dem schreiben):
using System.Xml.Linq;
Vorausgesetzt:
Dann (query-syntax):
Derselben in erweiterungsmethoden-syntax:
Wenn das input-xml-format ist so einfach wie, die Sie, sofern Sie die obige Aussage ist ausreichend, andernfalls fügen Sie diese where-Klausel nicht erfassen, andere
name
Elemente in Ihrer xml-Datei:Einer Zeile ist genug.
Müssen Sie folgende namespaces für die Prüfung
test-code
den Beispiel-xml für test
using System.Linq;