日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

XML反序列化出错,XML 文档(2, 2)中有错误

發布時間:2023/12/1 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XML反序列化出错,XML 文档(2, 2)中有错误 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XML轉換為實體類的錯誤處理方案

一.錯誤描述:

  • XML反序列化出錯,XML 文檔(2, 2)中有錯誤

二.解決方案:

  • 在實體類的字段要加上XmlElement屬性

三.具體實現:

1.XML文檔
<EVENT_INSTANCE><EventType>ALTER_TABLE</EventType><PostTime>2015-08-04T10:21:14.670</PostTime><SPID>175</SPID><ServerName>E6SER14</ServerName><LoginName>sa</LoginName><UserName>dbo</UserName><DatabaseName>E6ETms</DatabaseName><SchemaName>ETms</SchemaName><ObjectName>Driver</ObjectName><ObjectType>TABLE</ObjectType><AlterTableActionList><Drop><Constraints><Name>DF_Driver_DriverID</Name></Constraints></Drop></AlterTableActionList><TSQLCommand><SetOptions ANSI_NULLS="ON" ANSI_NULL_DEFAULT="ON" ANSI_PADDING="ON" QUOTED_IDENTIFIER="ON" ENCRYPTED="FALSE" /><CommandText>ALTER TABLE ETms.DriverDROP CONSTRAINT DF_Driver_DriverID</CommandText></TSQLCommand> </EVENT_INSTANCE>
2.目標實體對象
[XmlRoot(ElementName = "EVENT_INSTANCE")] [Serializable] public class EventModel {[XmlElement(ElementName = "EventType")]public string EventType { set; get; }[XmlElement(ElementName = "PostTime")]public string PostTime { set; get; }[XmlElement(ElementName = "SPID")]public string Spid { set; get; }[XmlElement(ElementName = "ServerName")]public string ServerName { set; get; }[XmlElement(ElementName = "UserName")]public string UserName { set; get; }[XmlElement(ElementName = "DatabaseName")]public string DatabaseName { set; get; }[XmlElement(ElementName = "SchemaName")]public string SchemaName { set; get; }[XmlElement(ElementName = "ObjectName")]public string ObjectName { set; get; }[XmlElement(ElementName = "ObjectType")]public string ObjectType { set; get; }[XmlElement(ElementName = "TargetObjectName")]public string TargetObjectName { set; get; }[XmlElement(ElementName = "TargetObjectType")]public string TargetObjectType { set; get; }[XmlElement(ElementName = "PropertyName")]public string PropertyName { set; get; }[XmlElement(ElementName = "PropertyValue")]public string PropertyValue { set; get; }[XmlElement(ElementName = "Parameters")]public Parameters Parameters { get; set; }[XmlElement(ElementName = "TSQLCommand")]public TsqlCommand TsqlCommand { get; set; } }public class TsqlCommand { [XmlElement(ElementName = "CommandText")] public string CommandText { set; get; } [XmlElement(ElementName = "SetOptions")] public string SetOptions { set; get; } } public class Parameters { [XmlElement("Param")] public List<string> ParamContent { get; set; } }
3.XML轉實體類測試
//xmlStr 是xml字符串 ;type是要轉換目標實體的類型 【typeof (EventModel)】; public static object DeserializeFromXml(string xmlStr, Type type) {try{using (StringReader sr = new StringReader(xmlStr)){XmlSerializer xs = new XmlSerializer(type);return xs.Deserialize(sr);}}catch (Exception ex){throw (ex);} }

參考網址

轉載于:https://www.cnblogs.com/wuyunblog/p/6625747.html

總結

以上是生活随笔為你收集整理的XML反序列化出错,XML 文档(2, 2)中有错误的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。