2017-09-04 4 views
0

を例外をスローカント私はこのコードを書いた:なぜ...SQLXML、私は間違ったXMLに

SqlXml s = new SqlXml(new MemoryStream(new UnicodeEncoding().GetBytes("asd"))); 

を、それはtは私にすべての例外を与えるdoesnのなぜ?

私がしようとした場合:

SqlXml s = new SqlXml(new MemoryStream(new UnicodeEncoding().GetBytes("asd"))); 
String g=s.Value; 

iの値の割り当ての例外があります。 どこが間違っていますか?

ありがとうございます!

+0

これはsql-serverまたはsqlとは何が関係していますか? – GuidoG

+0

私はSQL Server上でDLL(CLR)を使用しているので... – elle0087

+0

スローすることができる何千もの例外があります。 – GuidoG

答えて

1

コンストラクタを呼び出すだけでは、このタイプのストリームでは何も行いません(code参照)。あなたがインスタンスで何かをするときだけ、それは実際にデータ/ストリームを読み込もうとし、順序どおりに例外をスローします。

Value-propertyは、渡されたストリームを実際に読み取るようなものです。他にも、documentationをチェックしてください。

このクラスを使用してストリームに有効なXMLが含まれているかどうかを確認するには、既に行ったようにします。 SqlXml.Valueプロパティを呼び出します(それを使用しない場合でも、それを文字列に割り当てるとよいでしょう)。それがスローされた場合、既に観察されたようにXMLは無効です。

関連する問題