2013-05-15 1 views
5

MSDNによれば、.NET XmlDocument.Load(String)メソッドでは、のファイルにアクセスする必要があります。例外リストには、それも真の読み書きアクセスが必要な、またはこれは単にドキュメントのエラーであるのか?ということですなぜXmlDocument.Load(String)は読み書きアクセスを必要としているようですか?

UnauthorizedAccessException : filename specified a file that is read-only.... 

私の質問は

  • に帰着言いますか
  • オブジェクトの存続期間中にファイルが開いたままであることを意味しますか?
  • XmlDocumentおよびそのサブノードを変更すると、ディスク上のファイルが実際に変更される可能性がありますか?明示的に保存しなくても。
+1

セキュリティ設定で '書き込み 'を拒否したり、ファイルの' ReadOnly'属性を設定した場合、ドキュメントエラーであると思うので、ドキュメントが正常に読み込まれます。私は明示的に 'Read'を拒否した場合にのみ例外を取得します – Jehof

+1

ドキュメントエラーのように見えます。私はエラーなしで読み込み専用のドキュメントを読み込むことができます。 –

答えて

1

は読み書きアクセスが

  • は、ドキュメントのバグのように見える必要があることも、本当です。読み込み中にXmlDocumentXmlReaderを作成しますが、AFAIKはそのような例外をスローしません。

それはファイルがありません、ファイルを読み込んだ後に閉鎖さとなったオブジェクトの寿命

  • 中に開いたままにしていることを意味しています。

それは、ファイルが閉じられているため、常にXmlDocumentとそのサブノードへの変更は、ノーディスク上のファイルへのライブの変更に

  • を引き起こすことができることを意味しています。
関連する問題