XmlWriter.WriteStartDocument()
とXmlWriter.WriteEndDocument()
の背後にある理由を知りたいと思います。XmlWriter.WriteStartDocument()を呼び出さずにXmlWriter.WriteEndDocument()を使用することは可能ですか
私のシナリオでは、私は例えば、その中のいくつかのデータをXMLドキュメントを作成しています:
XmlWriter xmlWriter = XmlWriter.Create(file);
xmlWriter.WriteStartDocument();
// write xml elements and attributes...
xmlWriter.WriteEndDocument();
xmlWriter.Flush();
をシリアライズしながら、我々はxmlWriter.WriteStartDocument()
への呼び出しをスキップして、ただでxmlWriter.WriteEndDocument()
を呼び出す場合、XmlWriter
は、例外をスローしません。終わり。
以下のコードは、任意のエラーまたは例外をスローしません:
XmlWriter xmlWriter = XmlWriter.Create(file);
// write xml elements and attributes...
xmlWriter.WriteEndDocument();
xmlWriter.Flush();
これが可能であるどのように?そして、WriteStartDocument()
とWriteEndDocument()
の機能について説明できますか?
WriteStartDocument
ため
the documentationパー
@stuartdしかし、C#では、WriteEndDocument()だけでうまく動作しています。 –
@stuartd私の質問は、 "なぜ両方のステートメントがXML宣言をファイルに書き込むために必要ではないのですか?"です。単に "WriteEndDocument()"だけでxml宣言を書くだけで十分です。それは奇妙に思える。 –
@stuartd XML 1.0(これは最も一般的に使用されている1.1、非常にまれです)、[宣言はオプションです](http://stackoverflow.com/questions/7007427/does-a-valid-xml-file-require -an-xml-declaration)。 –