質問と(1つの)回答の両方をここに投稿して、誰かがより良い解決策を持っているかどうかを確認してください...
ストアドプロシージャからファイルにフォーマットされたXML出力を書き込もうとしています。私の最初の試みは次のようになりました:
// the actual command is a stored procedure that returns an XML document, but use this for demo purposes
var xmlCommand = new SqlCommand("SELECT 1 as ID, 'asdf' as Name FOR XML PATH, ROOT('MyData')", conn);
File.WriteAllText("file1.xml", (string)xmlCommand.ExecuteScalar());
これは素晴らしくて短いものでしたが、生成されたファイルにはすべてが1行に詰め込まれています。
<MyData><row><ID>1</ID><Name>asdf</Name></row></MyData>
うまくフォーマットしたい:
<MyData>
<row>
<ID>1</ID>
<Name>asdf</Name>
</row>
</MyData>