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

黄舟
Freigeben: 2017-03-08 16:38:34
Original
3101 Leute haben es durchsucht


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
werden ignoriert. Leerzeichen unmittelbar vor werden ignoriert. Mit anderen Worten: Der Parser schneidet die Zeichenfolgen in der Mitte von 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 verwenden.
Außerdem sind zwei Läufe nebeneinander angeordnet, wenn sie wie folgt angeordnet sind:

<Run>ab</Run>
<Run>cd</Run>
Nach dem Login kopieren

, 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
Nach dem Login kopieren



* Tab

Zuallererst gibt es keinen Tabulator In XAML können Sie stattdessen nur fortlaufende Leerzeichen verwenden.
<Run>ab</Run><Run>cd</Run>
Nach dem Login kopieren
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);
    }
}
Nach dem Login kopieren
============================================= === ===

XAML ist an XML-Regeln gebunden. XML hat beispielsweise eine besondere Bedeutung für mehrere Sonderzeichen, wie zum Beispiel &,<,>. 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 < mit >, & 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!