次の方法で共有


XmlWriterSettings.NewLineHandling プロパティ

定義

出力内の改行を正規化するかどうかを示す値を取得または設定します。

public:
 property System::Xml::NewLineHandling NewLineHandling { System::Xml::NewLineHandling get(); void set(System::Xml::NewLineHandling value); };
public System.Xml.NewLineHandling NewLineHandling { get; set; }
member this.NewLineHandling : System.Xml.NewLineHandling with get, set
Public Property NewLineHandling As NewLineHandling

プロパティ値

NewLineHandling 値のいずれか 1 つ。 既定値は、Replace です。

注釈

この設定は、テキストコンテンツまたは属性値を書き込むときに適用されます。 各値について以下に NewLineHandling 説明します。

  • この設定は EntitizeXmlWriter に対して、正規化 XmlReader によって保持されない改行文字を文字エンティティで置き換えることを指示します。 これは、正規化 XmlReaderによって出力が読み取られたラウンドトリップ シナリオで役立ちます。 以降\t\nのラウンド トリップ時に属性値に追加の正規化規則が適用され\r、 で正規化されると属性値のスペースにXmlReader置き換えられます。

  • この設定は ReplaceXmlWriter に対して、新しい行文字を プロパティで指定された文字に NewLineChars 置き換えることを指示します。 また、この設定では、属性内の改行が文字エンティティに置き換えられ、文字が保持されます。 これも既定値です。

  • この設定は NoneXmlWriter に入力を変更しないように指示します。 この設定は、改行処理が不要な場合に使用されます。 これは、正規化を行わない によって出力が読み取XmlReaderられた場合に便利です (たとえば、既定の設定を持つ )。XmlTextReader

次の表に、プロパティの設定に WriteString 応じて入力値を指定した場合の メソッドの出力を NewLineHandling 示します。 表には、テキスト コンテンツの書き込み時と属性値の書き込み時の出力が表示されます。

Text Node Value:

\r\n \n \r \t
Entitize &#D;\n \n &#D; \t
Replace \r\n \r\n \r\n \t
なし \r\n \n \r \t

Attribute Value:

\r\n \n \r \t
Entitize &#D;&#A; &#A; &#D;
Replace &#D;&#A; &#A; &#D;
なし \r\n \n \r \t

注意

XmlWriterには、CDATA セクション、コメント、または処理命令内でコンテンツを記述するときの次の動作があります。 プロパティが に設定されている場合でも、改行が文字エンティティにNewLineHandlingEntitize置き換えられることはありません。 これは、文字エンティティが CDATA セクション、コメント、または処理命令で認識されないためです。 プロパティが NewLineHandling または ReplaceNone設定されている場合、動作はテキスト ノード値を書き込む場合と同じです。

次の表では、各空白入力に対して XmlReader 正規化によって返される内容について説明します。 詳細については、W3C XML 1.0 の推奨事項のセクション 2.11 と 3.3.3 を参照してください。

注意

正規化リーダーは、 メソッドによって作成された任意 XmlReaderXmlReader.Create オブジェクトです。 これらのオブジェクトは、常に改行正規化と属性の完全正規化を実行します。 XmlTextReaderプロパティが に設定されている場合Normalization、オブジェクトを正規化リーダーにtrueすることもできます。

\r\n \n \r \t
テキスト ノードの値 \n \n \n \t
属性の値 1 つのスペース 1 つのスペース 1 つのスペース 1 つのスペース

適用対象