在
本指南演示了如何将XML文档转换为C#对象,该过程称为避难所化。 让我们使用此示例XML:
为此,我们创建匹配的c#类:
<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>
>:
>进行XML的序列化。<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>
记住将XmlSerializer
替换为XML文件的实际路径。
<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>
xmlFilePath
生成XSD:
从XSD中生成C#类:
命令行工具(与Visual Studio一起使用)和
以上是如何将XML文档供应到C#对象?的详细内容。更多信息请关注PHP中文网其他相关文章!