[xml] XML에서 요소와 노드의 차이점은 무엇입니까?

XML을 사용하여 Java로 작업하고 있으며 궁금합니다. 요소와 노드의 차이점은 무엇입니까?



답변

Node 객체는 전체 DOM의 기본 데이터 유형입니다.

노드는 요소 노드, 속성 노드, 텍스트 노드 또는 “노드 유형”장에 설명 된 다른 노드 유형일 수 있습니다.

XML 요소는 요소의 시작 태그 (포함)부터 요소의 끝 태그 (포함)까지의 모든 것입니다.


답변

서로 다른 W3C 사양은 서로 다른 “노드”유형 세트를 정의합니다.

따라서 DOM 스펙 은 다음 유형의 노드를 정의합니다.

  • DocumentElement(일 최대), ProcessingInstruction,
    Comment,DocumentType
  • DocumentFragment
    Element, ProcessingInstruction,
    Comment, Text, CDATASection,EntityReference
  • DocumentType -아이들이 없다
  • EntityReference
    Element, ProcessingInstruction,
    Comment, Text, CDATASection,EntityReference
  • ElementElement, Text, Comment, ProcessingInstruction,
    CDATASection,EntityReference
  • AttrText,EntityReference
  • ProcessingInstruction
    -아이들이 없다
  • Comment -아이들이 없다
  • Text -아이들이 없다
  • CDATASection -아이들이 없다
  • EntityElement, 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.


    답변

    노드는 DOM 트리의 일부이며 요소는 특정 유형의 노드입니다.

    예 :
    <foo> This is Text </foo>

    foo 요소 (요소가 Node에서 상속됨에 따라 노드 임)와 foo 요소 / 노드의 자식 인 텍스트 노드 ‘This is Text’가 있습니다.


    답변

    노드는 텍스트, 주석, 요소, 엔터티 등 여러 가지 종류가 될 수 있습니다. 요소는 특정 종류의 노드입니다.


    답변

    다양한 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’라고 말하십시오 .


    답변

    노드는 요소와 속성 (및 기본적으로 다른 모든 XML 표현)의 기본 클래스입니다.