【问题标题】:Print XML that is going to be returned from web service打印将从 Web 服务返回的 XML
【发布时间】:2012-02-08 15:55:22
【问题描述】:

我有一个 .NET Web 服务,它返回一个对象,我得到一个 XML 响应。我正在尝试调试,因为响应在一台机器上接收到正确的 XML,但在另一台机器上却没有。

我想在 Web 服务端的 return 语句之前打印将从 Web 服务返回的 XML。有没有办法做到这一点?

[WebGet(UriTemplate = MY_URI_TEMPLATE)]
public MyReturnObject DoUpdate(string myParam)
{
    ...
    MyReturnObject retVal = new MyReturnObject(myParam)

    //I want to print the XML that is going to be returned for MyReturnObject here

    return retVal;
}

【问题讨论】:

    标签: c# xml web-services


    【解决方案1】:

    如何使用DataContractSerializer。类似的东西

    MyReturnObject retVal = new MyReturnObject(myParam)
    var serializer = new DataContractSerializer(retVal.GetType());
    
    using (var xmlData = new StringWriter())
    using (var writer = XmlWriter.Create(xmlData))
    {
        serializer.WriteObject(writer, retVal);
        Console.WriteLine(xmlData.ToString());
    } 
    

    【讨论】:

    • -1 用于使用new XmlTextWriter() 而不是XmlWriter.Create()
    • 差不多:XmlWriter.Create,而不是XmlTextWriter.Create。还是一样的,只是在派生类上调用静态方法没那么酷。
    • 哈哈!这就是我不花时间得到的。谢谢!
    猜你喜欢
    • 2012-04-05
    • 2014-09-11
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多