第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將XML String轉(zhuǎn)換為Object

將XML String轉(zhuǎn)換為Object

慕慕森 2019-07-23 17:48:22
將XML String轉(zhuǎn)換為Object我通過套接字接收XML字符串,并希望將它們轉(zhuǎn)換為C#對象。消息的形式如下:<msg>    <id>1</id>    <action>stop</action></msg>我是.Net的新手,并不確定執(zhí)行此操作的最佳做法。我之前使用過JAXB for Java,并且不確定是否有類似的東西,或者是否會以不同的方式處理。
查看完整描述

3 回答

?
FFIVE

TA貢獻1797條經(jīng)驗 獲得超6個贊

您需要使用xsd.exe隨Windows SDK安裝的工具進入類似于以下目錄的目錄:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin

在64位計算機上:

C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin

在Windows 10計算機上:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin

在第一次運行時,您使用xsd.exe并將示例XML轉(zhuǎn)換為XSD文件(XML架構(gòu)文件):

xsd yourfile.xml

這樣yourfile.xsd,您可以在第二步中再次使用xsd.exeC#類進行轉(zhuǎn)換:

xsd yourfile.xsd /c

這應該為您提供一個文件yourfile.cs,其中包含一個C#類,您可以使用它來反序列化您正在獲取的XML文件 - 例如:

XmlSerializer serializer = new XmlSerializer(typeof(msg));msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));

對大多數(shù)情況應該很好。

更新: XML序列化程序?qū)⑷魏瘟髯鳛槠漭斎?- 文件或內(nèi)存流都可以:

XmlSerializer serializer = new XmlSerializer(typeof(msg));MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));msg resultingMessage = (msg)serializer.Deserialize(memStream);

或使用StringReader:

XmlSerializer serializer = new XmlSerializer(typeof(msg));StringReader rdr = new StringReader(inputString);msg resultingMessage = (msg)serializer.Deserialize(rdr);


查看完整回答
反對 回復 2019-07-23
?
臨摹微笑

TA貢獻1982條經(jīng)驗 獲得超2個贊

嘗試使用此方法將Xml轉(zhuǎn)換為對象。這是為了你正在做的事情:

protected T FromXml<T>(String xml){
    T returnedXmlClass = default(T);

    try
    {
        using (TextReader reader = new StringReader(xml))
        {
            try
            {
                returnedXmlClass = 
                    (T)new XmlSerializer(typeof(T)).Deserialize(reader);
            }
            catch (InvalidOperationException)
            {
                // String passed is not XML, simply return defaultXmlClass
            }
        }
    }
    catch (Exception ex)
    {
    }

    return returnedXmlClass ;        }

使用以下代碼調(diào)用它:

YourStrongTypedEntity entity = FromXml<YourStrongTypedEntity>(YourMsgString);


查看完整回答
反對 回復 2019-07-23
  • 3 回答
  • 0 關注
  • 1238 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號