簡體   English   中英

將XML響應字符串反序列化為C#類

[英]Deserialize XML Response String to C# Class

我知道關於這方面的文章很多,盡管我發現很難理解.NET的這一主題。 我有一個看起來像這樣的XML字符串:

<?xml version="1.0" encoding="UTF-8"?>
<result command="searchhotels" tID="1460064669000001" ip="99.51.186.120"  date="2016-04-07 21:31:16" version="2.0" elapsedTime="7.1676669120789">
    <currencyShort>USD</currencyShort>
    <hotels count="2">
        <hotel runno="0" preferred="no" cityname="DUBAI" order="3" hotelid="275975">
            <from>292.767
                <formatted>292.77</formatted>
            </from>
            <availability>available</availability>
        </hotel>
        <hotel runno="1" preferred="yes" cityname="DUBAI" order="3" hotelid="31084">
            <from>278.7142
                <formatted>278.71</formatted>
            </from>
            <availability>available</availability>
        </hotel>
    </hotels>
    <successful>TRUE</successful>
</result>

我想根據已閱讀的文檔和帖子將其映射到一個類,但我不知道該如何做或該類應該是什么樣子。 救命? 這是我到目前為止所擁有的...

“響應”是xml字符串...將字符串轉換為類:

        XmlSerializer serializer = new XmlSerializer(typeof(TResponse));
        using (StringReader reader = new StringReader(response))
        {

            TResponse deserialized = (TResponse)serializer.Deserialize(reader);
            return deserialized;
        }

我不知道該類的外觀,我曾嘗試使用在線工具將該響應轉換為C#類,但似乎無濟於事。 那么,此響應的類應該是什么樣的? 以及如何將字符串轉換為此類?

看一下xsd.exe-谷歌瀏覽器-它是一個小實用程序,可用於基於xml生成.net類結構(它將推斷結構)或xsd文件。

有了它,您可以生成一個可以在反序列化代碼中填充的類。

如果只需要生成用於反序列化XML的類,則可以嘗試使用此在線工具Xml2CSharp 該快捷方式可能有效。

否則,您將需要從XML生成模式,然后從該模式生成類。 本文清楚地描述了步驟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM