텍스트는 있지만 테이블로 유추될 자식 요소가 없는 요소 즉, 특성이나 반복되는 요소가 있는 요소의 경우에는 TableName_Text라는 새 열이 해당 요소의 유추 테이블에 추가됩니다. 이 요소에 포함된 텍스트는 테이블의 행에 추가되어 새 열에 저장됩니다. 새 열의 ColumnMapping 속성은 MappingType.SimpleContent로 설정됩니다.
예를 들어, 다음과 같은 XML을 가정해 봅시다.
<DocumentElement>
<Element1 attr1="value1">Text1</Element1>
</DocumentElement>
이 유추 프로세스에서는 attr1 및 Element1_Text라는 두 개의 열이 있는 Element1이라는 테이블이 생성됩니다. attr1 열의 ColumnMapping 속성은 MappingType.Attribute로 설정됩니다. Element1_Text 열의 ColumnMapping 속성은 MappingType.SimpleContent로 설정됩니다.
DataSet: DocumentElement
Table: Element1
attr1 |
Element1_Text |
---|---|
value1 |
Text1 |
요소에 텍스트뿐만 아니라 텍스트가 포함된 자식 요소도 있는 경우에는 해당 요소에 포함된 텍스트를 저장할 열이 테이블에 추가되지 않습니다. 따라서 이 요소에 포함된 텍스트는 무시되지만 자식 요소에 있는 텍스트는 해당 테이블의 행에 저장됩니다. 예를 들어, 다음과 같은 XML을 가정해 봅시다.
<Element1>
Text1
<ChildElement1>Text2</ChildElement1>
Text3
</Element1>
위 유추 과정에서 ChildElement1이라는 열이 하나 있는 Element1이라는 테이블이 생성됩니다. ChildElement1 요소의 텍스트는 해당 테이블의 행에 포함됩니다. 다른 텍스트는 무시됩니다. ChildElement1 열의 ColumnMapping 속성은 MappingType.Element로 설정됩니다.
DataSet: DocumentElement
Table: Element1
ChildElement1 |
---|
Text2 |
참고 항목
개념
XML로부터 DataSet 스키마 정보 로드(ADO.NET)