Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menghilangkan dokumen XML ke dalam objek C#?
c# xml deserialization: mengubah data XML menjadi objek
Panduan ini menunjukkan cara menukar dokumen XML ke dalam objek C#, satu proses yang dikenali sebagai deserialization. Mari kita gunakan sampel XML ini:
<code class="language-xml"><?xml version="1.0" encoding="utf-8"?> <cars> <car> <stocknumber>1020</stocknumber> <make>Nissan</make> <model>Sentra</model> </car> <car> <stocknumber>1010</stocknumber> <make>Toyota</make> <model>Corolla</model> </car> <car> <stocknumber>1111</stocknumber> <make>Honda</make> <model>Accord</model> </car> </cars></code>untuk deserialize ini, kami membuat kelas C yang sepadan:
<code class="language-csharp">[Serializable] public class Car { [System.Xml.Serialization.XmlElementAttribute("StockNumber")] public string StockNumber { get; set; } [System.Xml.Serialization.XmlElementAttribute("Make")] public string Make { get; set; } [System.Xml.Serialization.XmlElementAttribute("Model")] public string Model { get; set; } } [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)] public class Cars { [XmlArrayItem(typeof(Car))] public Car[] Car { get; set; } }</code>Sekarang, kita boleh deserialize XML menggunakan
: XmlSerializer
<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(Cars)); Cars carData; using (XmlReader reader = XmlReader.Create(xmlFilePath)) // xmlFilePath should be replaced with the actual file path { carData = (Cars)serializer.Deserialize(reader); }</code>ingat untuk menggantikan
dengan laluan sebenar ke fail XML anda. xmlFilePath
menghasilkan XSD: Buat definisi skema XML (XSD) dari fail XML anda menggunakan alat yang sesuai (banyak IDE menawarkan fungsi ini).
Menjana kelas C# dari XSD: Gunakan alat baris arahan (disertakan dengan Visual Studio) dengan pilihan xsd.exe
untuk menghasilkan kelas C# dari XSD. Ini secara automatik akan membuat kelas mencerminkan struktur XML anda. Kemudian, gunakan /classes
seperti yang ditunjukkan di atas. Kaedah ini amat berguna untuk struktur XML yang kompleks. XmlSerializer
Atas ialah kandungan terperinci Bagaimana untuk menghilangkan dokumen XML ke dalam objek C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!