0

XmlReader.ReadInnerXML を使用して、外側の XML ドキュメントの要素に埋め込まれた XML ドキュメントを (テキストとして) 読み取ります。これは、内部 XML の属性でのタブ文字の処理を除いて、正常に機能します。例:

<document>
  <interface>
    <scriptaction script="&#x9;one tab&#xD;&#xA;&#x9;&#x9;two tabs&#xD;&#xA;&#x9;&#x9;&#x9;three tabs" />
  </interface>
</document>

「ドキュメント」要素レベルで ReadInnerXML を使用すると、結果の文字列は次のようになります。

<interface><scriptaction script=" one tab&#xD;&#xA;  two tabs&#xD;&#xA;   three tabs"/></interface>

IOW、タブは実際のタブ文字に変わります。次に、結果の内部ドキュメントを解析すると、タブは通常の空白処理方法でスペースに正規化され、その結果、タブ文字がスペースに変換されます。属性値をそのまま保持する必要があります。

さまざまな XmlReader 設定をいじってみましたが、役に立ちませんでした。これはおそらくリーダーの欠陥ですか、それとも何か間違っていますか?

前もって感謝します、

-- Nathan Allan - データベース コンサルティング グループ

4

1 に答える 1

0

この動作はXML仕様で要求されていると思います:http ://www.w3.org/TR/REC-xml/#AVNormalize

XML生成を制御していますか?代わりにCDATAセクションを使用できますか?

于 2009-11-24T03:25:35.127 に答える