1

私は Xsd2Code の使用を開始し、現在まで、実際のファイルから直接 XML を逆シリアル化しています。私が今しなければならないことは、ローカル変数から xml を逆シリアル化することです。

コードスニペットを次に示します。

using (FileStream getResponseDataFromFile = new FileStream   (@:\Temp\Output\DeclarationResponse.xml", FileMode.Open))
 {
            XmlSerializer serializeGbResponseXML = new XmlSerializer(typeof(declarationGbResponse));               
            declarationGbResponse myResponse = (declarationGbResponse)serializeGbResponseXML.Deserialize(getResponseDataFromFile);
foreach (var acceptanceResponseItem in myResponse.acceptanceResponse)   
{
........

 }

私がする必要があるのは、FileSteam c:\temp から XML をロードする代わりに、ローカル変数から XML を解析し、その変数から逆シリアル化することです。その後、Xsd2Code によって作成されたクラスを使用して、さまざまなプロパティを表示および使用できます。

4

1 に答える 1

1

これは、「payloadXML」が整形式の xml 文字列である限り機能します。

   public myType DeserializeEstimatePayload(string payloadXML)
    {
        myType est = null;
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(myType ));
        MemoryStream memStream = new MemoryStream(Encoding.Unicode.GetBytes(payloadXML));
        est = (myType )xmlSerializer.Deserialize(memStream);
        xmlSerializer = null; memStream = null;

        return est;
    }
于 2014-08-27T19:59:09.893 に答える