6
WebサービスのXML応答を作成しようとしていますが、応答に宣言を表示する方法を理解できません。XElement.ToString()で宣言を含める方法
私のコードはそうのようなものです:
StringBuilder sBuilder = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(sBuilder))
{
writer.WriteStartDocument();
writer.WriteStartElement("ReportResponse");
Response.WriteXml(writer);
writer.WriteEndElement();
writer.WriteEndDocument();
}
var response = XElement.Parse(sBuilder.ToString());
return response;
応答は、応答データを格納するためだけのPOCOです。
Save
メソッドには宣言があり、ToString()
メソッドには含まれていないことにご注意ください。私はToString()
と私の宣言を書き戻す必要があります。
実際には、有効なXMLを返すために文字列を100回キャストせずに、自分のRESTサービスからカスタムXMLを返すだけです。これは可能なのですか、ただ私の車輪を回転させていますか?
XMLにシリアライズするクラスを使用しないのはなぜですか? – Maess
私はこのアプローチを使うことができましたが、同じ理由で別の理由で実行されます。 – BentOnCoding
なぜXML宣言が必要なのか、 'XElement'を返すのではなく、' XDocument'を返すのですか? – Jacob