读取 XmlElement 和 XmlAttribute
Posted
技术标签:
【中文标题】读取 XmlElement 和 XmlAttribute【英文标题】:Read XmlElement and XmlAttribute 【发布时间】:2014-02-26 19:35:00 【问题描述】:反序列化 XML、XMLElement、XMLAttribute
XML:
<PET>
<RES>Correct</RES>
<PC version="1.1">
<MESSAGE conf="1">SMS</DESC>
<URL>www.google.com</URL>
</PC>
<PRU>200</PRU>
</PET>
类:
[XmlRoot("PET")]
public class Prueba
[XmlElement("RES")]
public string Res get; set;
[XmlElement("PRU")]
public string Pru get; set;
//PC Attribute
//MESSAGE element AND Attribute
//URL element
方法:
public void Prueba()
Prueba p = new Prueba();
XmlSerializer serializer = new XmlSerializer(p.GetType());
using (StreamReader reader = new StreamReader("Repositories/Local/Prueba.xml"))
p = (Prueba)serializer.Deserialize(reader);
如何读取属性<PC>
、MESSAGE
元素(属性太)和URL
?
【问题讨论】:
使用 Visual Studio 的 XSD.exe 实用程序从您的 xml 中创建 c# 类。 【参考方案1】:添加
[XmlElement("PC")]
public PC pc get; set;
并为 PC 创建类,
[XmlRoot("PET")]
public class PC
[XmlElement("MESSAGE")]
public string MES get; set;
[XmlElement("URL")]
public string url get; set;
【讨论】:
以上是关于读取 XmlElement 和 XmlAttribute的主要内容,如果未能解决你的问题,请参考以下文章
无法将类型为“System.Xml.XmlComment”的对象强制转换为类型“System.Xml.XmlElement”
使用 XMLRoot/XMLElement 和使用 Serializable() 属性之间的区别(在 c# 中)
VB.NET 和 XmlElement() 如何从 API 调用中获取元素的值?