Udostępnij za pośrednictwem


XmlWriterSettings.NewLineHandling Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy znormalizować podziały wierszy w danych wyjściowych.

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

Wartość właściwości

Jedna z NewLineHandling wartości. Wartość domyślna to Replace.

Uwagi

To ustawienie ma zastosowanie podczas pisania zawartości tekstowej lub wartości atrybutów. Każda z NewLineHandling wartości jest opisana poniżej:

  • Ustawienie Entitize informuje, XmlWriter aby zastąpić nowe znaki wiersza, które nie byłyby zachowywane przez normalizację XmlReader z jednostkami znaków. Jest to przydatne w scenariuszach okrężnych, w których dane wyjściowe są odczytywane przez normalizację XmlReader. Dodatkowe reguły normalizacji mają zastosowanie do wartości atrybutów podczas zaokrąglania od \t, \n i \r są zastępowane spacją w wartościach atrybutów po znormalizowaniu w obiekcie XmlReader.

  • Ustawienie Replace informuje o XmlWriter zastąpieniu nowych znaków wiersza znakami określonymi we NewLineChars właściwości . To ustawienie zastępuje również nowe wiersze w atrybutach jednostkami znaków, aby zachować znaki. Jest to również wartość domyślna.

  • Ustawienie None nakazuje XmlWriter pozostawienie danych wejściowych bez zmian. To ustawienie jest używane, gdy nie chcesz przetwarzać nowych wierszy. Jest to przydatne, gdy dane wyjściowe są odczytywane przez XmlReader element, który nie wykonuje żadnej normalizacji (na przykład XmlTextReader z ustawieniami domyślnymi).

W poniższych tabelach przedstawiono dane wyjściowe WriteString metody po podaniu wartości wejściowej w zależności od NewLineHandling ustawienia właściwości. Tabele pokazują dane wyjściowe podczas pisania zawartości tekstowej, a także podczas pisania wartości atrybutu.

Text Node Value:

\r\n \n \r \t
Entitize &#D;\n \n &#D; \t
Zamień \r\n \r\n \r\n \t
Brak \r\n \n \r \t

Attribute Value:

\r\n \n \r \t
Entitize &#D;&#A; &#A; &#D;
Zamień &#D;&#A; &#A; &#D;
Brak \r\n \n \r \t

Uwaga

Ma XmlWriter następujące zachowanie podczas pisania zawartości w sekcji CDATA, komentarzu lub instrukcji przetwarzania. Nowe wiersze nigdy nie są zastępowane jednostkami znaków, nawet jeśli właściwość jest ustawiona NewLineHandling na Entitize. Wynika to z faktu, że jednostki znaków nie są rozpoznawane w sekcjach CDATA, komentarzach ani instrukcjach przetwarzania. NewLineHandling Jeśli właściwość jest ustawiona na None lub Replace, zachowanie jest takie samo jak podczas pisania wartości węzła tekstowego.

W poniższej tabeli opisano, co zwraca normalizacja XmlReader dla każdego wejściowego odstępu. Aby uzyskać więcej informacji, zobacz sekcje 2.11 i 3.3.3 zalecenia W3C XML 1.0.

Uwaga

Normalizowanie czytnika to dowolny XmlReader obiekt utworzony przez metodę XmlReader.Create . Te obiekty zawsze wykonują normalizację podziału linii i pełną normalizację atrybutów. Obiekt XmlTextReader może być również normalizacją czytnika, jeśli Normalization właściwość jest ustawiona na truewartość .

\r\n \n \r \t
Wartość węzła tekstowego \n \n \n \t
Wartość atrybutu pojedyncze miejsce pojedyncze miejsce pojedyncze miejsce pojedyncze miejsce

Dotyczy