从ASMX Webservice返回时,如何在C#中向XmlDocument的末尾添加注释

时间:2013-12-04 10:12:07

标签: c# xml asmx xmldocument xml-comments

我有以下课程;

[XmlRoot("Customer")]
public class MyClass
{
    [XmlElement("CustId")]
    public int Id {get;set;}

    [XmlElement("CustName")]
    public string Name {get;set;}
}

然后我使用以下函数将类对象序列化为Xml

public static XmlDocument SerializeObjectToXML(object obj, string sElementName)
 {
    XmlSerializer serializer = 
          new XmlSerializer(obj.GetType(), new XmlRootAttribute("Response"));

    using (MemoryStream ms = new MemoryStream())
    {
       XmlDocument xmlDoc = new XmlDocument();
       serializer.Serialize(ms, obj);
       ms.Position = 0;
       xmlDoc.Load(ms);
    }
}

我当前输出到XML就像;

<Response>
  <CustId></CustId>
  <CustName></CustName>
</Response>

但是我想添加像

这样的评论
<Response>
  <CustId></CustId>
  <CustName></CustName>
</Response>
<!-- Sample Comment Here -->

我怎样才能做到这一点?我尝试了以下内容;

XmlComment xmlComment;
xmlComment = xmlDoc.CreateComment("Sample XML document");

XmlElement root = xmlDoc.DocumentElement;
xmlDoc.InsertAfter(xmlComment, root);

但是,当我尝试使用这种WebClient调用来读取Xml时

oClient.UploadString("http://www.myurl.com/", "POST", "");

我可以看到Xml元素,但不能看到评论。

更新

我检查过,即使我直接通过浏览器调用webservice(ASMX),使用浏览器开发者工具时也不会返回注释标记。

似乎ASMX webservice没有返回评论标签......?

0 个答案:

没有答案