我有一个WCF服务需要返回一个XML字符串。但似乎作家只想建立一个文件,而不是一个字符串。我试过了:XmlWriter写入字符串而不是文件
string nextXMLstring = "";
using (XmlWriter writer = XmlWriter.Create(nextXMLstring))
这会产生一个错误,说明nextXMLstring没有文件路径。它想要的东西是这样的:
using (XmlWriter writer = XmlWriter.Create("nextXMLstring.xml"))
如何建立我的XML,然后将其作为字符串返回?
谢谢!
@Will:回滚您的更改。 XmlTextWriter.Close()将刷新到流,所以要在提取字符串之前进行。 (在这种情况下差别不大,但更喜欢一致地执行此操作,因为* Writer和Stream类的清除语义并不总是清楚地记录在案。) – Richard 2009-06-05 13:57:33
只是对使用此操作的人的评论。如果你碰巧忽略了using(),而是通常声明你的XmlWriter,那么在你调用sw.ToString()之前一定要调用xw.Flush,否则你可能无法获得所有内容! (显然最好使用括号......) – Ravendarksky 2014-07-16 10:34:45
请记住,以下代码在代码分析期间给出了CA2202警告,因为Dispose()方法将在StringWriter对象上被调用两次 – 2016-08-25 11:58:53