Heim  >  Artikel  >  Backend-Entwicklung  >  XML-Sonderzeichen und -Leerzeichen, Zeilenumbrüche, Escape-Zeichencodes im Detail

XML-Sonderzeichen und -Leerzeichen, Zeilenumbrüche, Escape-Zeichencodes im Detail

黄舟
黄舟Original
2017-03-08 16:38:343099Durchsuche


Zum Umgang mit Leerzeichen in XAML bietet MSDN eine detaillierte Beschreibung: http://msdn.microsoft.com/en-us/library/cc189036%28v=VS.95%29
Um die wichtigen Punkte zusammenzufassen:
Leerzeichen, Wagenrückläufe und Tabulatoren werden alle als Leerzeichen behandelt.
Aufeinanderfolgende Räume werden zu einem Raum zusammengeführt. Die Leerzeichen unmittelbar nach
8bf259f5a6144433b921fb8b7de94970 werden ignoriert. Leerzeichen unmittelbar vor baa3ea5ae7414741617ff7b18b3fb09e werden ignoriert. Mit anderen Worten: Der Parser schneidet die Zeichenfolgen in der Mitte von 8bf259f5a6144433b921fb8b7de94970…baa3ea5ae7414741617ff7b18b3fb09e ab.
So behalten Sie Leerzeichen bei
Fügen Sie dem Element das Attribut xml:space="preserve" hinzu
Nach dem Festlegen dieses Attributs bleiben alle Leerzeichen im Element erhalten und aufeinanderfolgende Leerzeichen werden nicht zusammengeführt oder abgeschnitten beide Enden.
Ein Nachteil dieser Methode besteht darin, dass alle Leerzeichen im Element beibehalten werden, selbst wenn diese Leerzeichen durch Codeformatierung generiert werden. Das bedeutet, dass Sie zum Organisieren des Codeformats keine Tastenkombinationen wie Strg+E oder F verwenden können. Wenn Sie es einmal versehentlich organisiert haben, ist es sehr mühsam, es wieder zu ändern.

Da XAML das direkte Schreiben von Unicode-Code unterstützt, stellt diese Codezeichenfolge ein geschütztes Leerzeichen dar.
Komplexer Text
Text mit komplexen Formaten wird empfohlen, RichTextBox zu verwenden.
Da Textelemente in Block- und Inline-Elemente unterteilt sind, erlaubt TextBlock nur die Aufnahme von Inline-Elementen und eignet sich daher besser für die Anzeige einer kleinen Textmenge.
Wenn das Format komplexer ist, achten Sie darauf, span zu verwenden. Der Unterschied zwischen span und run besteht darin, dass span nicht das Format des übergeordneten Elements erbt, was einem Zurücksetzen des Formats entspricht und nicht vom Format von beeinflusst wird das übergeordnete Element.
* Zeilenumbruch
Die Eingabe eines Wagenrücklaufs in XAML wird als Leerzeichen behandelt. Alle Zeilenumbrüche müssen e1d9b8af2bbdb369143b6eb8718edc46 verwenden.
Außerdem sind zwei Läufe nebeneinander angeordnet, wenn sie wie folgt angeordnet sind:

<Run>ab</Run>
<Run>cd</Run>

, und es wird ein Zeilenumbruchzeichen angezeigt automatisch zwischen den beiden Läufen hinzugefügt.

Wenn Sie den Wagenrücklauf entfernen und ihn als abcd anzeigen möchten, sollten Sie ihn in einer Zeile schreiben:
ab
cd



* Tab

Zuallererst gibt es keinen Tabulator In XAML können Sie stattdessen nur fortlaufende Leerzeichen verwenden.
<Run>ab</Run><Run>cd</Run>
Es ist zu beachten, dass beim Zuweisen einer Zeichenfolge zum Xaml-Attribut von RichTextBox fortlaufende Leerzeichen zusammengeführt werden. Wenn Sie daher Tabulatoren (fortlaufende Leerzeichen) beibehalten möchten, müssen Sie eine solche Problemumgehung durchführen:




Verwenden Sie zunächst einen Platzhalter, um die vier Leerzeichen zu ersetzen, damit die Leerzeichen nicht zusammengeführt werden, wenn Sie dem xaml-Attribut von richTextBox einen Wert zuweisen.

Ersetzen Sie dann den Platzhalter. Wenn der Wert zugewiesen und ersetzt wird, wird er nicht zusammengeführt.
private const string TAB = "    ";
private const string TAB_PLACEHOLDER = "===TAB===";

textBox1.Text = richTextBox1.Xaml;
string xaml = richTextBox1.Xaml;

xaml = xaml.Replace(TAB, TAB_PLACEHOLDER);

richTextBox2.Xaml = xaml;

foreach (Block block in richTextBox2.Blocks)
{
    foreach (Inline inline in ((Paragraph)block).Inlines)
    {
        ((Run)inline).Text = ((Run)inline).Text.Replace(TAB_PLACEHOLDER, TAB);
    }
}
============================================= === ===

XAML ist an XML-Regeln gebunden. XML hat beispielsweise eine besondere Bedeutung für mehrere Sonderzeichen, wie zum Beispiel &,6580843315dd7804e35fd3743df832ea. Wenn Sie versuchen, diese Werte zum Festlegen des Inhalts eines Elements zu verwenden, erhalten Sie möglicherweise eine Fehlermeldung, da der XAML-Parser davon ausgeht, dass Sie versuchen, beispielsweise verschachtelte Elemente zu erstellen. Sie können Zeichenentitäten wie a7cc14f2334c396cd80255fc8be77b8b, & mit &, „mit“ verwenden. Das andere ist die Leerzeichenverarbeitung. Leerzeichen, TAB- und Eingabetasten vor und nach einer Zeichenfolge sowie in der Zeichenfolge werden ignoriert, sodass nur ein Leerzeichen übrig bleibt. Sie können XML:space="preserve" verwenden, um Leerzeichen, TAB- und Eingabetasten beizubehalten. Beachten Sie, dass diese Regeln nur für XAML funktionieren. Wenn Sie den Inhalt im Code festlegen, bleiben alle Leerzeichen erhalten.
Sonderzeichen und Leerzeichen
Die folgenden Zeichen sind in [XML] als Leerzeichen definiert:
Leerzeichen ( )
Tab ( )
Enter ( )
Zeilenumbruch ( )


Das obige ist der detaillierte Inhalt vonXML-Sonderzeichen und -Leerzeichen, Zeilenumbrüche, Escape-Zeichencodes im Detail. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn