백엔드 개발 XML/RSS 튜토리얼 XML 개발 기초 - XML ​​속성의 상세 코드 설명

XML 개발 기초 - XML ​​속성의 상세 코드 설명

Mar 25, 2017 pm 05:05 PM

XML 요소는 HTML과 마찬가지로 여는 태그에 속성 을 포함할 수 있습니다.

속성은 요소에 대한 추가 정보를 제공합니다.

XML 속성

HTML에서 다음을 기억하실 것입니다: <img src="computer.gif">. "src" 속성은 <img> 요소에 대한 추가 정보를 제공합니다.

HTML(및 XML)에서 속성은 요소에 대한 추가 정보를 제공합니다.

&lt;img src=&quot;computer.gif&quot;&gt;
&lt;a href=&quot;demo.asp&quot;&gt;
로그인 후 복사

속성은 종종 데이터의 일부가 아닌 정보를 제공합니다. 다음 예에서 파일 형식은 데이터와 관련이 없지만 이 요소를 처리해야 하는 소프트웨어에는 중요합니다.

&lt;file type=&quot;gif&quot;&gt;computer.gif&lt;/file&gt;
로그인 후 복사

XML 속성은 따옴표로 묶어야 합니다.

속성 값은 따옴표로 묶어야 합니다. 따옴표로 묶어야 하지만 작은따옴표와 큰따옴표를 모두 사용할 수 있습니다. 예를 들어, 사람의 성별에 대해 사람 태그는

&lt;person sex=&quot;female&quot;&gt;
로그인 후 복사

와 같이 작성하거나

&lt;person sex=&#39;female&#39;&gt;
로그인 후 복사

참고와 같이 작성할 수도 있습니다. 자체에는 큰따옴표가 포함되어 있으므로 다음 예와 같이 작은따옴표로 묶어야 합니다.

&lt;gangster name=&#39;George &quot;Shotgun&quot; Ziegler&#39;&gt;
로그인 후 복사

또는 엔터티 를 사용하여 를 참조할 수 있습니다.

&lt;gangster name=&quot;George &quot;Shotgun&quot; Ziegler&quot;&gt;
로그인 후 복사

XML 요소 대 XML 요소 attribute

다음 예를 참조하세요.

&lt;person sex=&quot;female&quot;&gt;
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
로그인 후 복사

첫 번째 예에서 sex는 속성입니다. 두 번째 예에서 sex는 하위 요소입니다. 두 예제 모두 동일한 정보를 제공합니다.

속성을 사용할 시기와 하위 요소를 사용할 시기를 알려주는 규칙은 없습니다. 내 경험에 따르면 HTML에서는 속성을 사용하는 것이 매우 편리하지만 XML에서는 속성 사용을 피해야 합니다. 정보가 데이터와 유사하다고 느껴지면 하위 요소를 사용하세요.

내가 가장 좋아하는 방식

다음 세 개의 XML 문서에는 정확히 동일한 정보가 포함되어 있습니다.

첫 번째 예에서는 날짜 속성을 ​​사용합니다.

&lt;note date=&quot;08/08/2008&quot;&gt;
&lt;to&gt;George&lt;/to&gt;
&lt;from&gt;John&lt;/from&gt;
&lt;heading&gt;Reminder&lt;/heading&gt;
&lt;body&gt;Don&#39;t forget the meeting this weekend!&lt;/body&gt;
&lt;/note&gt;
로그인 후 복사

두 번째 예에서는 날짜 요소를 사용합니다:

&lt;note&gt;
&lt;date&gt;08/08/2008&lt;/date&gt;
&lt;to&gt;George&lt;/to&gt;
&lt;from&gt;John&lt;/from&gt;
&lt;heading&gt;Reminder&lt;/heading&gt;
&lt;body&gt;Don&#39;t forget the meeting this weekend!&lt;/body&gt;
&lt;/note&gt;
로그인 후 복사

세 번째 예에서는 확장된 날짜 요소를 사용합니다(이것이 제가 가장 좋아하는 것입니다):

&lt;note&gt;
&lt;date&gt;
&lt;day&gt;08&lt;/day&gt;
&lt;month&gt;08&lt;/month&gt;
&lt;year&gt;2008&lt;/year&gt;
&lt;/date&gt;
&lt;to&gt;George&lt;/to&gt;
&lt;from&gt;John&lt;/from&gt;
&lt;heading&gt;Reminder&lt;/heading&gt;
&lt;body&gt;Don&#39;t forget the meeting this weekend!&lt;/body&gt;
&lt;/note&gt;
로그인 후 복사

XML 속성을 피하시나요?

속성 사용으로 인해 발생하는 몇 가지 문제:

속성은 여러 값을 포함할 수 없습니다(하위 요소는 가능).

속성은 트리 구조를 설명할 수 없습니다(하위 요소는 가능)

속성은 확장하기 쉽지 않습니다(향후 변경을 위해)

속성은 읽고 유지하기 어렵습니다

요소를 사용하여 데이터를 설명해보세요. 대신, 데이터 독립적인 정보를 제공하기 위해 속성을 사용하세요.

다음과 같은 어리석은 짓을 하지 마십시오(XML을 사용하는 방식이 아닙니다).

&lt;note day=&quot;08&quot; month=&quot;08&quot; year=&quot;2008&quot;
to=&quot;George&quot; from=&quot;John&quot; heading=&quot;Reminder&quot;
body=&quot;Don&#39;t forget the meeting this weekend!&quot;&gt;
&lt;/note&gt;
로그인 후 복사

메타데이터에 대한 XML 속성

때때로 요소에 ID 참조를 할당합니다. 이러한 ID 색인은 XML 요소를 식별하는 데 사용될 수 있으며 HTML의 ID 속성과 동일한 방식으로 작동합니다.

&lt;messages&gt;
&lt;note id=&quot;501&quot;&gt;
&lt;to&gt;George&lt;/to&gt;
&lt;from&gt;John&lt;/from&gt;
&lt;heading&gt;Reminder&lt;/heading&gt;
&lt;body&gt;Don&#39;t forget the meeting this weekend!&lt;/body&gt;
&lt;/note&gt;
&lt;note id=&quot;502&quot;&gt;
&lt;to&gt;John&lt;/to&gt;
&lt;from&gt;George&lt;/from&gt;
&lt;heading&gt;Re: Reminder&lt;/heading&gt;
&lt;body&gt;I will not&lt;/body&gt;
&lt;/note&gt;
&lt;/messages&gt;
로그인 후 복사

위의 ID는 단지 다른 노트를 식별하는 데 사용되는 식별자일 뿐입니다. 노트 데이터의 일부가 아닙니다.

여기서 전달하려는 아이디어는 메타데이터(데이터에 관한 데이터)는 속성으로 저장되어야 하고, 데이터 자체는 요소로 저장되어야 한다는 것입니다.

위 내용은 XML 개발 기초 - XML ​​속성의 상세 코드 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PowerPoint를 사용하여 XML 파일을 열 수 있나요? PowerPoint를 사용하여 XML 파일을 열 수 있나요? Feb 19, 2024 pm 09:06 PM

PowerPoint를 사용하여 XML 파일을 열 수 있나요?

Python의 dir() 함수: 객체의 속성과 메서드 보기 Python의 dir() 함수: 객체의 속성과 메서드 보기 Nov 18, 2023 pm 01:45 PM

Python의 dir() 함수: 객체의 속성과 메서드 보기

Java에서 Gson을 사용하여 JSON 속성의 이름을 바꾸는 방법은 무엇입니까? Java에서 Gson을 사용하여 JSON 속성의 이름을 바꾸는 방법은 무엇입니까? Aug 27, 2023 pm 02:01 PM

Java에서 Gson을 사용하여 JSON 속성의 이름을 바꾸는 방법은 무엇입니까?

C# 개발에서 XML 및 JSON 데이터 형식을 처리하는 방법 C# 개발에서 XML 및 JSON 데이터 형식을 처리하는 방법 Oct 09, 2023 pm 06:15 PM

C# 개발에서 XML 및 JSON 데이터 형식을 처리하는 방법

Java에서 Jackson 라이브러리를 사용하여 POJO를 XML로 변환하시겠습니까? Java에서 Jackson 라이브러리를 사용하여 POJO를 XML로 변환하시겠습니까? Sep 18, 2023 pm 02:21 PM

Java에서 Jackson 라이브러리를 사용하여 POJO를 XML로 변환하시겠습니까?

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까?

CSS의 하단 속성 구문 CSS의 하단 속성 구문 Feb 21, 2024 pm 03:30 PM

CSS의 하단 속성 구문

XML 구문 분석을 위한 Java 라이브러리 비교: 최상의 솔루션 찾기 XML 구문 분석을 위한 Java 라이브러리 비교: 최상의 솔루션 찾기 Mar 09, 2024 am 09:10 AM

XML 구문 분석을 위한 Java 라이브러리 비교: 최상의 솔루션 찾기

See all articles