개인 재정 XML 문서에 DOM (Document Object Model) 접근 방식 가져 오기

XML 문서에 DOM (Document Object Model) 접근 방식 가져 오기

차례:

비디오: Week 9, continued 2024

비디오: Week 9, continued 2024
Anonim

선형 사고와 전체 론적 사고의 이분법은 SAX를 DOM과 구분합니다.

SAX (Simple API for XML)는 처음부터 끝까지 문서를 조각 단위로 처리하면서 XML 문서를 선형 적으로 처리합니다. 그러나 DOM (Document Object Model)을 사용하면 전체 문서를 볼 수 있습니다. 잠시 후, 루트 요소를 확대 한 다음 루트 요소 내의 요소에보다 근접하게 초점을 맞 춥니 다. 어떤 상황에서는 뛰어 들기 만하면됩니다.

노드가 있다고 생각할 수 있습니다.

노드의 예로는 시작 태그와 종료 태그의 쌍 사이에 요소, 속성, 주석 및 문자가 있습니다. 전체 XML 문서 자체가 노드입니다. 결국 XML 문서에는 12 가지 유형의 노드가있을 수 있습니다. 트리의 노드 XML 문서의 모든 DOM 노드는 함께 트리를 형성합니다. 예를 들어 Listing 1의 문서를 살펴 보자.이 문서의 DOM 트리는 그림 1에 표시된 트리와 비슷하다.

목록 1: Anchovy Lovers Club

창립자, 사장, 홍보 관리자 비서

나무에는 11 개의 노드가 있습니다. 그것들을 계산하려면 나무 가지를 세는 것으로 시작하십시오 (그림 1에 편리하게 표시됨). 그런 다음 멤버 firstname = "Herbert"브랜치를 두 번째로 계산합니다. (이 브랜치에는 두 개의 DOM 노드가 있으며, Member라는 요소는 노드이고, firstname = "Herbert"라는 요소의 속성은 노드입니다.)

Listing 1의 문서를 나타내는 트리

나무에 대한 논문

그림에서 트리를 쳐다 보면서 발견 할 수있는 몇 가지 사항이있다. 1. 일부 노드는 다른 노드의 하위 노드입니다.

예를 들어, 구성원 노드는 AnchovyLoverclub 노드의

자식

  • 입니다. Listing 1에서 Member 엘리먼트는 AncoverLoversClub 엘리먼트 안에 중첩되어 있기 때문이다.
  • 유사한 방식으로, Standing 노드는 구성원 노드의 하위 노드입니다. 이 가족 유추가 계속됩니다. Member 노드는 Standing 노드의 부모 이고 AncoverLoversClub은 Member 노드의 부모입니다.전체 문서가 노드입니다. 이것은 중요한 포인트이며, 잊기 쉽습니다. Listing 1에서 문서의 루트 요소는 AnchovyLoversClub이다. 그러나 그림 1에서 AnchovyLoversClub이라는 이름은 트리의 맨 위에 있지 않습니다. 대신 #document라는 단어가 트리의 맨 위에 있습니다. DOM 트리의 맨 위 노드는 전체 XML 문서를 나타냅니다. 프로그래머가 문서의 루트 요소가 트리를 시작한다고 생각하면 오류가 발생합니다.(주석은 없습니다.) 주석과 텍스트는 노드입니다.
  • 도 1에서, 주석은 문서 ​​노드의 자식 노드이다. Listing 1에서 주석은 문서의 일부이기 때문이다. 주석은 문서의 요소 안에 중첩되어 있지 않습니다.
  • 다시 한번 우리는 족보를 재생합니다. #document 노드에는 주석 노드와 AnchovyLoverClub 노드라는 두 개의 자식이 있다고 가정합니다. 이 두 노드 - 주석과 AnchovyLoversClub -은형제 자매
  • 라고 불립니다.
  • 또한 그림 1에서 창립자, 사장, 비서관, 홍보 관리자 텍스트는 노드의 일부입니다. Listing 1에서 Founder, President, Secretary, Publicity Manager 텍스트는 Standing 엘리먼트 안에있다. 따라서 그림 1에서이 텍스트 노드는 Standing 노드의 하위 노드입니다.무시할 수있는 텍스트조차도 노드의 일부입니다. 그림 1에 따르면 AnchovyLoverclub 노드에는 #text 레이블이 붙은 두 개의 노드와 Member라는 레이블이 붙은 노드가있는 세 개의 직접 자식 노드가 있습니다. DOM에 관한 한 AnchovyLoversClub 노드에는 세 가지가 있기 때문입니다. 캐리지 리턴과 세 개의 공백멤버 요소
  • 캐리지 리턴
  • 상황은 그림 2에 설명되어 있습니다.

그림 2:

Listing 1의 두 텍스트 노드

구성원 노드의 자식 - 두 개의 공백과 한 개의 서기 요소 -는 모두 형제입니다.

    이제 그림 1과 2에서 점과 [cr]을 확인하십시오. 트리 다이어그램에서 점은 공백을 나타내고 [cr]은 캐리지 리턴을 나타냅니다. DOM을 사용하면 AnchovyLoversClub 시작 태그와 Member 시작 태그 사이의 무시할 수있는 공백이 모두 노드를 형성합니다. AnchovyLoversClub 시작 태그를 끝내는 꺽쇠 괄호로 시작하면 다음 줄로 이동하고 꺽쇠 괄호 앞에 세 개의 공백이있어서 멤버 시작 태그가 열립니다. 그 모든 것들은 DOM 노드입니다.

끝 태그는 노드가 아닙니다. SAX를 사용하면 Member 요소를 시작하고 나중에 Member 요소를 끝내는 관점에서 생각할 수 있습니다. DOM에서는 이런 식으로 생각하지 않습니다. 대신 멤버 요소를 한 번만 방문하십시오. 그 방문 시간 동안, 당신은 서있는 요소와 일부 텍스트를 방문합니다. DOM에는 SAX endElement 메소드에 해당하는 메소드가 없습니다.
XML 문서에 DOM (Document Object Model) 접근 방식 가져 오기

편집자의 선택

Photoshop Elements 11 - Stone

Photoshop Elements 11 - Stone

을 사용하여 Stone Out을 조각하는 방법 Photoshop Elements 11의 도구를 입력하여 텍스트와 같은 모양의 선택 영역을 만든 다음 이미지 자체를 해당 유형의 채우기로 사용합니다. 예를 들어 꽃 테마 웹 페이지를 만드는 경우 꽃 그림을 텍스트 채우기로 사용할 수 있습니다. 유형 선택을 사용하면 모든 부분을 잘라낼 수 있습니다.

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

여러 파일에 공통적으로 적용 할 편집 기능을 사용하면 Photoshop Elements에서 이러한 변경 사항을 일괄 적으로 처리 할 수 ​​있습니다. 단일 메뉴 명령을 사용하여 파일 형식을 변경하고 파일 속성을 변경하고 공통 파일 기본 이름을 추가 할 수 있습니다. 파일 이름 바꾸기는 내보내기 명령의 일부일 수도 있고 사용할 수도 있습니다.

편집자의 선택

승마 2012 런던 하계 올림픽 - 인형

승마 2012 런던 하계 올림픽 - 인형

승마 (말의 화려한 이름) 경쟁 런던 2012 하계 올림픽은 조련사, 이벤트 및 점프의 세 가지 분야로 구성됩니다. 각 분야는 팀과 개인 메달을위한 기회를 제공합니다. 대회는 7 월 28 일부터 31 일까지 개최됩니다. 조련사 경연 대회는 8 월 2 일부터 9 일까지 개최됩니다. 점프 대회는 ...

동계 올림픽에서의 자유형 스키 - 인형

동계 올림픽에서의 자유형 스키 - 인형

프리 스타일 스키는 동계 올림픽의 X 게임 이벤트 중 하나입니다. . 자유형 스키에서는 경쟁자가 언덕 꼭대기에서 바닥까지 다양한 행사를 수행합니다. 프리 스타일 스키는 기술 스키의 가장 중요한 부분을 차지하며 스노우 보드에서 트릭을 만들어내는 기술과 결합되어 있습니다.

필드 2012 런던 하계 올림픽의 이벤트 - 인형

필드 2012 런던 하계 올림픽의 이벤트 - 인형

스프린트, 릴레이 및 도로 경주 이외에도 2012 런던 하계 올림픽 육상 경기에는 점프 및 던지기 경기가 포함됩니다. 남자와 여자는 높은 점프, 긴 점프, 트리플 점프, 장대 높이뛰기 등의 4 가지 점프 이벤트와 총구, 원반, 창 던지기 및 망치와 같은 네 가지 투구 이벤트에서 경쟁합니다. 필드 이벤트 ...

편집자의 선택

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

엑셀 2016의 액션. Range 객체는 수십 개의 메소드를 가지고 있지만, 이들 중 대부분은 필요하지 않습니다. 여기서는 가장 일반적으로 사용되는 Range 객체 메소드를 찾습니다. Select 메서드 Select 메서드를 사용하여 셀 범위를 선택합니다. 다음 문은 ...

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자는 목표 탐색 데이터 탭의 가정 분석 섹션에 데이터 테이블이 있습니다. 다른 유용한 도구와 함께 그룹화하면 시나리오 관리자가 중요한 도구임을 믿게 될 것입니다. 그러나 유용한 이름과 좋은 회사가 있음에도 불구하고 ...

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

Power Query를 함께 사용하면 관리 및 유지 보수가 쉬운보고 모델을 만들 수 있습니다. 보고 모델은보고 메커니즘이 구축되는 기초를 제공합니다. 데이터를 가져오고, 변환하고, 모양을 만들고, 집계하는보고 프로세스를 작성하면 본질적으로보고 모델을 구축하게됩니다. 잘못 작성하는 중 ...