>  기사  >  백엔드 개발  >  XML 특수 문자 및 공백, 개행, 이스케이프 문자 코드 세부정보

XML 특수 문자 및 공백, 개행, 이스케이프 문자 코드 세부정보

黄舟
黄舟원래의
2017-03-08 16:38:343158검색


XAML에서 공백을 처리하는 방법에 대해서는 MSDN에서 자세한 설명을 제공합니다: http://msdn.microsoft.com/en-us/library/cc189036%28v=VS.95%29
중요점 요약:
공백, 캐리지 리턴, 탭은 모두 공백으로 처리됩니다.
연속된 공백은 하나의 공백으로 병합됩니다.
8bf259f5a6144433b921fb8b7de94970 바로 뒤의 공백은 무시됩니다. baa3ea5ae7414741617ff7b18b3fb09e 바로 앞의 공백은 무시됩니다. 즉, 파서는 8bf259f5a6144433b921fb8b7de94970…baa3ea5ae7414741617ff7b18b3fb09e의 중간에 있는 문자열을 잘라냅니다.
공백을 보존하는 방법
요소에 xml:space="preserve" 속성을 추가하세요
이 속성을 설정하면 요소의 모든 공백이 유지되며 연속된 공백은 병합되거나 잘리지 않습니다. 양쪽 끝.
이 방법의 한 가지 불편한 점은 이러한 공백이 코드 서식에 의해 생성되더라도 요소의 모든 공백이 유지된다는 것입니다. 즉, Ctrl+E, F 등의 단축키를 사용하여 코드 형식을 정리하면 다시 변경하기가 매우 번거롭습니다.

XAML은 유니코드 코드 직접 작성을 지원하므로 이 코드 문자열은 잘림 방지 공백을 나타냅니다.
복잡한 텍스트
복잡한 형식의 텍스트이므로 RichTextBox를 사용하는 것이 좋습니다.
텍스트 요소는 블록과 인라인으로 구분되기 때문에 TextBlock에서는 인라인만 포함할 수 있으므로 적은 양의 텍스트를 표시하는 데 더 적합합니다.
형식이 더 복잡한 경우, 범위를 사용할 때 주의하세요. 범위와 실행의 차이점은 범위가 상위 요소의 형식을 상속하지 않는다는 것입니다. 이는 형식을 재설정하는 것과 동일하며 형식의 영향을 받지 않습니다. 부모 요소.
* 줄 바꿈
XAML에서 캐리지 리턴을 입력하면 모든 줄 바꿈은 e1d9b8af2bbdb369143b6eb8718edc46을 사용해야 합니다.
또한, 두 개의 Run이 인접해 있으면

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

로 배열하면

ab
cd

로 표시되며, 두 Run 사이에 자동으로 줄바꿈 문자가 추가됩니다. 두 번의 실행.
캐리지 리턴을 없애고 abcd로 표시하려면

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

* Tab
우선 XAML에는 탭이 없습니다. , 연속 공백만 사용할 수 있습니다.
RichTextBox의 Xaml 속성에 문자열을 할당하면 연속 공백이 병합되므로 탭(연속 공백)을 유지하려면 다음과 같은 해결 방법을 수행해야 합니다.

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);
    }
}

richTextBox의 xaml 속성에 값을 할당할 때 공백이 병합되지 않도록 먼저 자리 표시자를 사용하여 4개의 공백을 대체합니다.
그런 다음 자리표시자를 교체합니다. 값이 할당되고 교체되면 병합되지 않습니다.
============================================= === ===
XAML은 XML 규칙을 따릅니다. 예를 들어, XML은 &,6580843315dd7804e35fd3743df832ea와 같은 여러 특수 문자에 대해 특별한 의미를 갖습니다. 이러한 값을 사용하여 요소의 콘텐츠를 설정하려고 하면 XAML 파서가 중첩된 요소 생성과 같은 작업을 수행하려고 한다고 가정하기 때문에 오류가 발생할 수 있습니다. 3f8848c26130716700cef811c7213d08 with &, "with"와 같은 문자 엔터티를 사용할 수 있습니다. 다른 하나는 공간 처리입니다. 문자열 앞뒤 및 문자열 내 공백, TAB 및 Enter 키는 무시되고 공백 하나만 남습니다. XML:space="preserve"를 사용하여 공백, TAB 및 Enter 키를 보존할 수 있습니다. 이러한 규칙은 XAML에서만 작동합니다. 코드에서 콘텐츠를 설정하면 공백이 유지됩니다.
특수 문자 및 공백
다음 문자는 [XML]에서 공백 문자로 정의됩니다.
공백( )
탭( )
Enter( )
줄바꿈( )


위 내용은 XML 특수 문자 및 공백, 개행, 이스케이프 문자 코드 세부정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.