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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372566.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372566.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iOS--支付寶環境集成

1.下載支付寶SDK以及Demo https://doc.open.alipay.com/doc2/detail?treeId54&articleId103419&docType1 2.新建文件夾“AliSDK”&#xff0c;將壓縮包內的文件拷貝到該文件夾下&#xff0c;完成后如下圖所示&#xff1a; 3.將文件夾拷貝到項目中&#xff0c; 4.執行完…

再見,再見,5 * 60 * 1000 //五分鐘,再見,再見

在這篇文章中&#xff0c;我將討論一個在1.5版中首次引入的類&#xff0c;我使用了太多&#xff0c;但是與一些人交談&#xff0c;他們說他們不知道它的存在。 此類是TimeUnit 。 TimeUnit類表示給定粒度單位的持續時間&#xff0c;還提供了轉換為不同單位的實用方法以及執行計…

windows如何調用Linux的API,Windows和Native API中的系統調用?

最近&#xff0c;我在* NIX操作系統中使用了很多匯編語言。我想知道Windows域。Linux中的調用約定&#xff1a;mov $SYS_Call_NUM, %eaxmov $param1 , %ebxmov $param2 , %ecxint $0x80而已。這就是我們應該如何在Linux中進行系統調用。linux中所有系統調用的參考&#xff1a;關…

maven生命周期和插件

maven生命周期和插件 生命周期 maven的生命周期有三套&#xff0c;互相獨立。每個生命周期含有不同階段&#xff0c;常用如下 clean 清理項目 pre-clean 執行清理前需要完成的工作clean 清理上一次構建生成的文件post-clean 執行清理后需要完成的工作default 構建項目 validate…

Java EE 6測試第二部分– Arquillian和ShrinkWrap簡介

在Java EE 6測試的第一部分中&#xff0c;我簡要介紹了使用Glassfish嵌入式容器的EJB 3.1 Embeddable API&#xff0c;以演示如何啟動該容器&#xff0c;如何在項目類路徑中查找bean以及運行非常簡單的集成測試。 這篇文章重點介紹Arquillian和ShrinkWrap以及為什么它們是用于企…

linux內存分配堆棧數據段代碼段,linux – LD_PRELOAD堆棧和數據段內存分配

你好,我正在編寫一個Linux模塊(基于名為“Ccontrol”的GitHub項目)來創建緩存分區(a.k.a頁面著色),以減輕定時側通道攻擊(用于防止Prime Probe等攻擊).我已經使用LD_PRELOAD系統env變量來覆蓋所有malloc(),calloc()和free()調用,并用顏色感知調用替換它們.現在我正在尋找顏色堆…

【騰訊Bugly干貨分享】Android內存優化總結實踐

本文來自于騰訊Bugly公眾號&#xff08;weixinBugly&#xff09;&#xff0c;未經作者同意&#xff0c;請勿轉載&#xff0c;原文地址&#xff1a;https://mp.weixin.qq.com/s/2MsEAR9pQfMr1Sfs7cPdWQ 導語 智能手機發展到今天已經有十幾個年頭&#xff0c;手機的軟硬件都已經發…

以編程方式向OpenJPA注冊實體類型

我剛剛開始為Isis開發 OpenJPA對象庫 。 在一般情況下&#xff0c;可以在persistence.xml文件中注冊實體類型。 但是&#xff0c;Isis是一個框架&#xff0c;可以構建自己的元模型&#xff0c;并且可以自行確定哪些類構成實體。 因此&#xff0c;我不想強??迫開發人員重復自己…

linux redis客戶端,Redisson 3.4.0和2.9.0發布,Redis客戶端

Redisson 3.4.0和2.9.0發布&#xff0c;Redis客戶端發布時間:2017-04-27 09:12:16來源:紅聯作者:baihuoRedisson于2017年4月26日發布了3.4.0和2.9.0版本Redisson是架設在Redis基礎上的一個Java駐內存數據網格(In-Memory Data Grid)。充分的利用了Redis鍵值數據庫提供的一系列優…

LeetCode 349 Intersection of Two Arrays

Given two arrays, write a function to compute their intersection. Example: Given nums1 [1, 2, 2, 1], nums2 [2, 2], return [2]. 思路&#xff1a; 利用ArrayList的contains(Object o)方法進行交集的查詢。 解法&#xff1a; 1 import java.util.ArrayList;2 3 publi…

shell腳本1——變量 $、read、``

與Shell變量相關的幾個命令&#xff1a; 變量只在當前Shell中生效. source 這個命令讓腳本影響他們父Shell的環境&#xff08;. 可以代替source命令&#xff09; export 這個命令可以讓腳本影響其子Shell的環境 () unset 從環境中刪除變量 其他幾個與變量有關的命令&#xff1…

令人印象深刻的第一個Apache Camel版本

為了準備下周的CamelOne會議&#xff0c;我花了一些時間回顧一下Apache Camel項目的歷史。 因此&#xff0c;除其他外&#xff0c;我了解了Apache Camel的第一個正式1.0版本 。 Apache Camel 1.0 – 5年前 我看的越多&#xff0c;這個版本的事實給我留下了深刻的印象。 現在您…

Linux禁用user01賬戶,Linux?管理用戶?useradd

創建用戶、設置密碼、修改用戶、刪除用戶&#xff1a;useradd testuser 創建用戶testuseruseradd [選項]useradd 命令選項-u uid:指定新用戶的uid,默認用當前最大uid加1-g group:指定新用戶所在的組(私有組),該組必須存在-G group:指定新用戶的附加組-d dir:指定新用戶的自家目…

css小細節

1. 文字居中顯示 水平居中&#xff1a; text-align: center; 垂直居中&#xff1a; line-height: (height); 2.子元素相對于父元素的絕對布局。 父元素一定要 position: relative/absolute/fixed; 默認position 是static 轉載于:https://www.cnblogs.com/zcancandice/p/5…

為什么在2012/2013年我將在新的Enterprise Java項目中繼續使用Spring *和* Java EE

自從我擔任技術決策職務以來已經過去了一年多&#xff0c;很高興看到我仍然與之保持著完美的和諧。 幾個月前&#xff0c;我在KaiWhner的一個不錯的博客中寫了一個有關JEE與Spring的答案。 如果觀點沒有不同&#xff0c;那么討論的附加值在哪里&#xff1f; 我確實同意Kai的許多…

linux ubuntu 五筆輸入法,ubuntu下安裝fcitx五筆輸入法

安裝fcitx輸入法sudo add-apt-repository ppa:fcitx-team/stable #添加安裝源&#xff0c;apt-get 添加&#xff0c;nightly源也可以sudo apt-get update #更新源&#xff0c;否則無法安裝fcit…

淺談Windows下SVN在Android Studio中的配置、基本使用及解除關聯

看到網上很多關于svn環境配置和關聯Android-Studio的很多博文&#xff0c;發現很零散&#xff0c;想集大家所長整理一下&#xff1a; 在AndroidStudio中開發版本控制中&#xff0c;除了Git就是SVN&#xff0c;和Eclipse不同Android Studio沒有提供單獨的插件&#xff0c;只能和…

四. 基于環視Camera的BEV感知算法-BEVDepth

目錄 前言0. 簡述1. 算法動機&開創性思路2. 主體結構3. 損失函數4. 性能對比總結下載鏈接參考 前言 自動駕駛之心推出的《國內首個BVE感知全棧系列學習教程》&#xff0c;鏈接。記錄下個人學習筆記&#xff0c;僅供自己參考 本次課程我們來學習下課程第四章——基于環視Cam…

【騰訊Bugly干貨分享】Android Patch 方案與持續交付

本文來自于騰訊bugly開發者社區&#xff0c;非經作者同意&#xff0c;請勿轉載&#xff0c;原文地址&#xff1a;http://dev.qq.com/topic/57a31921ac3a1fb613dd40f3 Android 不僅系統版本眾多&#xff0c;機型眾多&#xff0c;而且各個市場都各有各的政策和審核速度&#xff0…

App Engine中的Google Services身份驗證,第1部分

這篇文章將說明如何構建一個簡單的Google App Engine&#xff08;GAE&#xff09;Java應用程序&#xff0c;該應用程序可針對Google進行身份驗證&#xff0c;并利用Google的OAuth授權訪問Google的API服務&#xff08;例如Google Docs&#xff09;。 此外&#xff0c;在Google已…