を設定:のMemoryStreamでXmlTextReaderはノードの値と同じではないが、私はMemoryStreamをすることによって初期化のXmlTextReaderをした、とのMemoryStreamの値である
<val><![CDATA[value]]></val>
Iがこの値に対応した良好なバイト配列をしました、私が行うときには\ rを\ nは\ T \ T \ T \ tvalue \ r \ n」が
:
XmlTextReader reader = new XmlTextReader(myMemoryStream); reader.ReadToFollowing("val"); string result = reader.ReadElementContentAsString();
を私は次の
result
値を取得します\ t \ t \ t "
キャリッジリターンと表がなぜ値に追加されるのですか?私は読者を作成するときに私はそれを追加しません...
私は十分明確です。
ありがとうございました。
[EDIT]
byte[] DEBUGvalue = myMemoryStream.GetBuffer()
.SkipWhile((b) => b != (byte)'[')
.TakeWhile((b) => b != (byte)']')
.Select((b) => b).ToArray();
そしてDEBUGvalueが含まれています
[0] 91 byte ([)
[1] 67 byte (C)
[2] 68 byte (D)
[3] 65 byte (A)
[4] 84 byte (T)
[5] 65 byte (A)
[6] 91 byte ([)
[7] 118 byte (v)
[8] 97 byte (a)
[9] 108 byte (l)
[10] 117 byte (u)
[11] 101 byte (e)
[12] 32 byte ()
[13] 32 byte ()
[14] 32 byte ()
[15] 32 byte ()
[16] 32 byte ()
あなたは 'new XmlTextReader()'を決して使うべきではありません。 .NET 2.0以降、非推奨になりました。代わりに 'XmlReader.Create()'を使用してください。 –
この非推奨については何も見ていません。なぜそれが非難されているのか知っていますか?ありがとう –
あなたは地球上でもっと多くの時間を費やす必要があります:.NET 2.0はずっと前でした。あなたはこれを見逃してしまいました。 [XmlTextReaderクラス](http://msdn.microsoft.com/en-us/library/system.xml.xmltextreader.aspx)から: ".NET Frameworkバージョン2.0のリリースでは、XmlReaderインスタンスを作成することをお勧めしますXmlReader.Createメソッドを使用すると、このリリースで導入された新機能をフルに活用できます。 –