XML을 사용하여 Java로 작업하고 있으며 궁금합니다. 요소와 노드의 차이점은 무엇입니까?
XML을 사용하여 Java로 작업하고 있으며 궁금합니다. 요소와 노드의 차이점은 무엇입니까?
답변:
Node 객체는 전체 DOM의 기본 데이터 유형입니다.
노드는 요소 노드, 속성 노드, 텍스트 노드 또는 "노드 유형"장에 설명 된 다른 노드 유형일 수 있습니다.
XML 요소는 요소의 시작 태그 (포함)부터 요소의 끝 태그 (포함)까지의 모든 것입니다.
서로 다른 W3C 사양은 서로 다른 "노드"유형 세트를 정의합니다.
따라서 DOM 스펙 은 다음 유형의 노드를 정의합니다.
Document
- Element
(일 최대), ProcessingInstruction
,
Comment
,DocumentType
DocumentFragment
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
DocumentType
-아이들이 없다
EntityReference
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Element
- Element
, Text
, Comment
, ProcessingInstruction
,
CDATASection
,EntityReference
Attr
- Text
,EntityReference
ProcessingInstruction
-아이들이 없다
Comment
-아이들이 없다
Text
-아이들이 없다
CDATASection
-아이들이 없다
Entity
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Notation
-아이들이 없다 XML 인포 셋 (XPath에 의해 사용되는) 노드의 작은 세트가 있습니다 :
XPath에는 다음과 같은 노드 유형이 있습니다.
" 요소와 노드의 차이점은 무엇입니까? " 라는 질문에 대한 대답 은 다음과 같습니다.
An element is a type of node. Many other types of nodes exist and serve different purposes.
다양한 XML에서 설명 된 바와 같이 사양 ,는 element
(어떤 콘텐츠 또는 종료 태그 없음)의 시작 태그와 종료 태그 사이의 내용 또는 교대 빈 요소 태그로 구성되어있는 점이다. 다시 말해, 다음은 모두 요소입니다.
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
"노드"가 거의 같은 의미로 사용된다고 들지만 XML 사양에 따라 정확한 정의는 없습니다. 일반적으로 XML과 밀접한 관련이 있거나 XML을 표현에 사용할 수있는 DOM과 같은 노드를 나타내는 데 사용됩니다.
xml 문서는 중첩 요소로 구성됩니다. 요소는 시작 태그 에서 시작 하여 종료 태그 에서 끝납니다 . 당신은 아마 볼 수있는 <body>
및 </body>
HTML한다. 여는 태그와 닫는 태그 사이의 모든 것은 요소의 내용 입니다. 요소가 자체 닫힘 태그 (예 :)로 정의 된 경우 <br/>
내용이 비어 있습니다.
여는 태그는 속성 을 지정할 수도 있습니다 ( 예 : <p class="rant">
. 이 예에서 속성 이름 은 'class'이고 값은 'rant'입니다.
XML 언어에는 'node'와 같은 것이 없습니다 . spec을 읽으십시오 . 단어가 발생하지 않습니다.
어떤 사람들은 '노드'라는 단어를 비공식적으로 사용하여 요소를 의미하는데, 일부 파서는 단어에 기술적 의미를 부여하기 때문에 ( '텍스트 노드'와 '요소 노드'를 식별하기 때문에) 혼동됩니다. 정확한 의미는 파서에 따라 다르므로 사용중인 파서를 명시하지 않으면 단어가 잘못 정의됩니다. element를 의미한다면 'element'라고 말하십시오 .
이제는 요소가 노드 중 하나라는 것을 알고 있습니다.
여기에있는 모든 노드 유형 " http://www.w3schools.com/dom/dom_nodetype.asp "
요소가 시작 태그와 종료 태그의 끝 사이에 있음
따라서 텍스트 노드는 노드이지만 요소는 아닙니다.
XML 요소는 XML 노드이지만 속성과 같은 추가 요소가 있습니다.
<a>Lorem Ipsum</a> //This is a node
<a id="sample">Lorem Ipsum</a> //This is an element