一尘不染

XmlWriter写入字符串而不是文件

c#

我有一个WCF服务,需要返回XML字符串。但是似乎作者只想建立一个文件,而不是一个字符串。我试过了:

string nextXMLstring = "";
using (XmlWriter writer = XmlWriter.Create(nextXMLstring))

这将产生一个错误,指出nextXMLstring没有文件路径。它想要类似:

using (XmlWriter writer = XmlWriter.Create("nextXMLstring.xml"))

如何建立XML,然后将其作为字符串返回?

谢谢!!


阅读 503

收藏
2020-05-19

共1个答案

一尘不染

您需要创建一个StringWriter,并将其传递给XmlWriter。

XmlWriter.Create的字符串重载用于文件名。

例如

using (var sw = new StringWriter()) {
  using (var xw = XmlWriter.Create(sw)) {
    // Build Xml with xw.


  }
  return sw.ToString();
}
2020-05-19