Jam*_*hon 11 .net c# xml web-services
我意识到.NET中的SOAP webservices返回web方法返回的任何对象的XML表示,但是如果我想在XML中返回数据格式,那么存储它的最佳对象是什么?
XmlWriter writer = XmlWriter.Create(pathToOutput);
writer.WriteStartDocument();
writer.WriteStartElement("People");
writer.WriteStartElement("Person");
writer.WriteAttributeString("Name", "Nick");
writer.WriteEndElement();
writer.WriteStartElement("Person");
writer.WriteStartAttribute("Name");
writer.WriteValue("Nick");
writer.WriteEndAttribute();
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
Run Code Online (Sandbox Code Playgroud)
现在我可以将此输出作为String返回到我的调用webmethod,但它显示为<string> XML HERE </string>,无论如何只返回完整的xml?
请在您的答案中,举例说明如何将所述对象与XmlWriter或其他内部对象一起使用(如果您认为XmlWriter是一个糟糕的选择).System.Xml包(命名空间)有很多对象,但我无法找到关于如何一起使用对象或在什么情况下使用什么的体面文档.
Jam*_*hon 14
这就是我最终做到的方式;
StringBuilder sb = new StringBuilder();
XmlWriter writer = XmlWriter.Create(sb, settings);
writer.WriteStartDocument();
writer.WriteStartElement("People");
writer.WriteStartElement("Person");
writer.WriteAttributeString("Name", "Nick");
writer.WriteEndElement();
writer.WriteStartElement("Person");
writer.WriteStartAttribute("Name");
writer.WriteValue("Nick");
writer.WriteEndAttribute();
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(sb.ToString());
return xmlDocument;
Run Code Online (Sandbox Code Playgroud)
可能不是最好的方法,但似乎有效.如果您有更好的方法,请告诉我.谢谢.
Kev*_*Kev 11
只需返回一个XmlDocument.例如
[WebMethod]
public XmlDocument Quux()
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48565 次 |
| 最近记录: |