我有一個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