>  기사  >  백엔드 개발  >  미친 XML 연구 노트(2)------------형식 요구 사항

미친 XML 연구 노트(2)------------형식 요구 사항

黄舟
黄舟원래의
2017-02-21 14:04:181459검색

Xml 구문

 XML 파일은 다음 부분으로 구분됩니다.

 문서 선언

요소

속성

 CDATA 영역, 특수문자

 처리 지침(처리 지침)

Xml 선언

가장 간단한 선언은 307f197fa35495e5bd15705cfb261526

인코딩

속성

: 지정하지 않은 경우 문자 인코딩, 기본값은 UTF-8 인코딩

공통 문자 집합 중국어 간체: GBK

또는

GB2312

중국어 번체

: BIG5서유럽 문자: ISO8859-1

범용 국제 인코딩: 유니코드 UTF-8

데모 사례:

3b9fa87c98f5c55818a33d8f635304a4

bda9baaf5da319746481c18b49870bc29d457c0cadd39bea92367b3b63bc8817

오류 원인:

인코딩 오류


문자로 디코딩

tr>



解码成字符

xml 문자 집합이 잘못된 경우 문서




新建是一个.txt文档

保存的是.xml UTF-8

默认的编码ANSI

中国

새 문서는


写入到硬盘

编码成二进制码

00 11

.txt


磁盘文件

문서저장된 파일은 .xml UTF-8 기본 인코딩ANSI입니다. 중국
하드 디스크에 쓰기바이너리 코드로 인코딩00 11
디스크 파일

독립형:문서가 다른 리소스를 참조해야 하는지 지정,속성 값은 다음과 같습니다: 또는 아니오

: 독립 아니오: 독립하지 않음

XML 파일은 HTML 파일과 마찬가지로 실제로는 텍스트 파일입니다.

XML 파일을 생성하는 가장 일반적인 도구가 HTML과 동일한 "메모장"이라는 사실은 누구나 즉시 이해할 수 있습니다.

"메모장" 외에도 XML 메모장, XML Pro, CLIP 등 좀 더 편리한 도구도 물론 있습니다! XML 편집기 등,

이러한 도구의 주요 기능은 생성한 XML 파일이 XML 사양을 준수하는지 확인할 수 있다는 것입니다. 그러나 이러한 도구는 현재 영어로만 제공되며 결제가 필요합니다.

물론 FrontPage, DreamWeaver 등의 도구를 사용할 수는 있지만 사용하기가 그리 편리하지는 않습니다.

XML의 점진적인 인기로 인해 머지않아 XML 파일을 생성하는 데 매우 유용한 도구가 등장할 것이라고 믿습니다.
이제 "메모장"을 사용하여 XML 파일을 만들어 보겠습니다. 먼저 XML 파일을 살펴보세요.


예 1


〈? xml version="1.0" 인코딩="gb2312" ?〉
〈References〉
〈Books〉
〈Name〉XML 소개 〈/name〉
〈저자〉 Zhang San〈/저자 〉
〈Price Money Unit="RMB"〉20.00〈/Price〉
〈/Book〉
〈Book〉
〈Name〉XML Syntax〈/Name〉
〈!-- This 책 출간 예정-->
〈저자〉 李思〈/저자〉
〈Price Money Unit="RMB"〉18.00〈/Price〉
〈/Book〉
〈/Reference 자료 〉


일반적인 XML 파일입니다. 편집 후 확장자가 .xml인 파일로 저장하세요. 이 파일을 파일 서문(프롤로그)과 파일 본문의 두 가지 주요 부분으로 나눌 수 있습니다.

이 파일의 첫 번째 줄은 파일의 서문입니다. 이 줄은 XML 파일이 선언해야 하는 항목이며 XML 파일의 첫 번째 줄에도 있어야 합니다. 주로 XML 파서의 작동 방법을 알려줍니다.

그 중 버전은 이 XML 파일에 사용되는 표준 버전 번호를 나타내며, 인코딩은 이 XML 파일에 사용되는 문자 유형을 나타내며, 이 문을 생략할 경우 다음은 생략 가능합니다. 문자코드는 유니코드 문자코드여야 합니다(생략하지 않는 것이 좋습니다)

. 이 예에서는 GB2312 문자 코드를 사용하고 있으므로 인코딩 문을 생략할 수 없습니다. 파일의 서문에도 몇 가지 선언문이 있는데, 이에 대해서는 나중에 소개하겠습니다.


파일의 나머지 부분은 XML 파일의 내용 정보가 저장되는 파일 본문에 속합니다.

파일의 본문이 시작 및 끝 제어 태그로 구성되어 있음을 알 수 있습니다. 이를 XML 파일의 "루트 요소"라고 합니다. 직접적으로 사용됩니다. 아래에는 , 와 같은 하위 요소가 있는 루트 요소 아래의 "하위 요소"에 속합니다. 통화 단위는 요소의 "속성"이고 "RMB"는 "속성 값"입니다.


먼저 XML 파일의 첫 번째 줄에서는 해당 파일이 XML 파일임을 선언하고 해당 파일이 사용하는 XML 사양 버전을 선언해야 합니다. 파일 앞에는 다른 요소나 설명이 있을 수 없습니다.


둘째, XML 파일에는 루트 요소가 하나만 있을 수 있습니다. 첫 번째 예에서 〈References〉...〈/References〉는 이 XML 파일의 루트 요소입니다.


셋째, XML 파일의 태그는 올바르게 닫혀야 합니다. 즉, XML 파일에서 제어 태그에는 해당 닫는 태그가 있어야 합니다. 예를 들어 태그에는 해당하는 닫는 태그가 있어야 합니다. HTML과 달리 일부 태그의 닫는 태그는 선택 사항입니다. XML 파일에서 HTML의 미친 XML 연구 노트(2)------------형식 요구 사항과 유사하고 종료 태그가 없는 독립형 단위 태그가 발견되면 XML은 이를 "빈" 요소라고 부릅니다. "는 〈빈 요소 이름/〉과 같이 작성해야 합니다. 요소에 속성이 포함된 경우 〈빈 요소 이름 속성 이름="속성 값"/〉과 같이 작성해야 합니다.


넷째, 표시가 교차되어서는 안 됩니다. 이전 HTML 파일에서는 다음과 같이 작성할 수 있었습니다.
〈B〉〈H〉XXXXXXX〈/B〉〈/H〉, 〈B〉, 〈H〉
태그 사이에 겹치는 부분이 있고, XML에서는 이러한 태그 인터리빙이 엄격히 금지되며 태그는 규칙적인 순서로 나타나야 합니다.


다섯째, 속성 값은 " " 기호로 묶어야 합니다. 첫 번째 예에서는 "1.0", "gb2312", "RMB"와 같습니다. 모두 " "로 둘러싸여 있으며 생략할 수 없습니다.


여섯째, 영문 컨트롤 태그, 명령어, 속성 이름은 대소문자를 구분해야 합니다. HTML과 다르게 HTML에서는 , 와 같은 태그가 같은 의미를 갖는 반면, XML에서는 , , 과 같은 태그가 다릅니다.


일곱번째 , 우리는 HTML 파일에서 우리가 입력한 내용을 브라우저가 그대로 표시하도록 하려면 이러한 내용을 〈pre〉〈/pre〉에 넣거나 〈xmp〉〈/xmp〉가 중간을 표시한다는 것을 알고 있습니다. HTML의 소스 코드가 웹 페이지에 표시되어야 하기 때문에 이는 HTML 교육 웹 페이지를 만드는 데 필수적입니다. XML에서는 이러한 기능을 구현하려면 CDATA 태그를 사용해야 합니다. CDATA 태그의 정보는 파서에 의해 그대로 애플리케이션에 전달되며 정보 세그먼트의 모든 제어 태그는 구문 분석되지 않습니다. CDATA 영역은 시작 표시로 ">"로 표시됩니다. 예: 예제 2의 소스 코드에서 "


Xml 요소의 기본 규칙

기본 단위는 , xml 문서입니다. 레이어별로 중첩된 요소로 구성됩니다. 전체 xml 문서는 루트 요소 에서 시작하고 루트 요소에는 여러 하위 요소 , 가 포함되며 각 하위 요소에는 여러 하위 요소가 포함될 수 있습니다. , 이렇게 xml 문서를 구성할 수 있습니다.

Xml 태그 구문:

1

, > 

의 태그:

bcc24532b7d026ef320480217f667b7b61a66b6c69a8cfbd93403691ba220130

2, xml 태그 요구 사항: 1, 태그 이름에는 문자 (

비서유럽 문자 포함

) , 숫자, 밑줄 (_), 밑줄 (- ), 콜론 (:)

및 마침표

(.), 형식이지만 숫자, 대시 및 마침표로 시작할 수 없습니다. 2, 태그 이름에는 4294f0baa55400e8f84624371e905df2,,,$ 및 기타 기호

3

. 네임스페이스를 사용하지 않는 한 레이블 이름에 영어 콜론 (:), 을 사용하지 마세요. 4, 태그 이름은 xml,

XML

과 같이 대소문자 조합으로 시작할 수 없습니다. , 등. 5 태그 이름에는 공백이 포함될 수 없습니다.

6, 태그 이름은 대소문자를 구분합니다.

3, xml 태그 중첩 하위 요소: xml은 요소 간 합리적인 중첩이 보장되는 한 하위 요소의 깊은 중첩을 허용합니다. .이고 xml 요소는 동일한 이름 을 가진 여러 하위 요소를 중첩할 수 있으며 이러한 하위 요소는 순서가 지정됩니다.

첫 번째:xml

a4336f42570c5817d922ed118067af1d

3eeb6add362c0700d1a2e92a8b89e74d

c0086bcc39b0a4e898434561ae3fc6ee

c0456529cbd1341d8d4c80020b363626ec381dd0c0f2f0ef1d1aa9f0f14d5d75d317bfa7d8fdbd52357ea05907b4207f

두 번째

xml: 4517e46ca703b950309c703ad3761d32 692fc68585d2730ff07707c5ae585b93  31311199dbb4e2d6613d6b392ef12c6b48254a886c2e958e60bbf3663bfba7fc

f262d348bcc1dffabdadcee7aca41d0e22bb6a7c0c749800b165a3ba97140b0f

🎜>/> f8f29d84b5948c2aba56da7b3685f601

7c552b3a22adff7b3b472e0a4db39b07

4, 빈 요소: 빈 요소는 하위 요소를 허용할 수 없음,

도 허용할 수 없음 문자열 내용.

세 번째 xml

:

                                                                                                                                                   수락할 수 있음 여러 속성

0f6fa65eb6c7f3ed4374d12bf4ac01bd 463aef0d2da08708f472268a99530dbe

                       

  0f6fa65eb6c7f3ed4374d12bf4ac01bd

예를 들어, 빈 요소는 속성을 허용합니다:

  06f9063201224c5ea2c737869b78b220

5、字符数据

   463aef0d2da08708f472268a99530dbe

      2c6008b0e56443c91d19286e6d5aeb74Struts2开发详解1d3f22abb3651fd0d3b978b732f443e5

      2c6008b0e56443c91d19286e6d5aeb74

         Struts2开发详解

      1d3f22abb3651fd0d3b978b732f443e5

   0f6fa65eb6c7f3ed4374d12bf4ac01bd

  对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理

 如果文本字符中包含了一些特殊的字符,例如9916825e1251ffb5610956d1d0de7076

 

        ae0dad9014289c6d12010d8d7c16d4801+3e9fae4ba621339ac778d677fd6c1e93e

   f0f56cc353d60613bb77ad77dc4a2b71

代表的是文本字符串中包含了特殊的字符

 

有以下两种方法解决:

1、 使用实体引用:用另一个特殊符号代替这些特殊符号

2、使用CDATA标记:将整个文档定义成字符串。

1、  使用实体引用

        44268761adfa814cf615c226dea79439

  a30d83af1c24e4dd3fb885081ed8bb3c

        ae0dad9014289c6d12010d8d7c16d4801+3&6ccdf030973307f116f98ffdd41846a0

  f0f56cc353d60613bb77ad77dc4a2b71

上面的红色的<产生了干扰

解决如下:

 44268761adfa814cf615c226dea79439

  a30d83af1c24e4dd3fb885081ed8bb3c

        ae0dad9014289c6d12010d8d7c16d4801+3<6a7f9fe91d91e1c9e48986c28ae44ee0d

cbb5a293f947f4e04b74448edae560b4

2, CDATA 사용 태그

특수 태그 아래 CDATA, 모든 특수 문자 , 도 유효한 요소로 처리됩니다. 간단한 문자열. 엔터티 참조도 효과를 잃고 직접적인 텍스트가 됩니다.

CDATA의 구문 형식은 다음과 같습니다.

텍스트 콘텐츠]]>

1577f040549499e933f5915d667cd4e2

7f0fbb58bcfc9f3c174e9fd6269325b4

                                                                        1 +3b3e812702340e447c90af0a3f923086d

Xml 댓글에는 다음을 포함할 수 있습니다. 요소와 태그. 참고: 1. Xml

주석은 태그 본문에 넣을 수 없습니다.

2.

xml 문서 선언 xml 앞에 xml 문서를 넣지 마세요. document 명령문은 항상 첫 번째 줄에 있습니다

3. 주석에 이중 밑줄을 사용하지 마세요 (--)

…..

2. 처리 지침

참조 PI (처리 지침). 처리 지침은 XML 문서 콘텐츠를 구문 분석하는 방법을 구문 분석 엔진에 지시하는 데 사용됩니다.

처리 명령은 xml 문서를 처리하는 애플리케이션에 정보를 제공하는 데 사용됩니다. 는 프로세서에 문서 처리 방법을 알려줍니다. 완전한 xml 문서 처리 프로그램, xml 문서 처리 명령, 을 읽어 처리 명령, 또는 다음 프로그램으로 전달하세요.

Xml처리 명령의 형식은 다음과 같습니다.

59fe4acb5ad5e28a0f119a58af1ab964

"


태그 형식으로 작성할 수 있습니다. 대소문자 구분

위는 미친 XML 스터디 노트(2) 내용입니다------------ - 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

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