推断元素文本
如果元素包含文本但不包含被推断为表的子元素(如具有属性或重复元素的元素),一个名为 TableName_Text 的新列将添加到为该元素推断的表中。 该元素中包含的文本将添加到此表中的一行,并存储在新列中。 新列的 ColumnMapping 属性将设置为 MappingType.SimpleContent。
例如,考虑以下 XML。
<DocumentElement>
<Element1 attr1="value1">Text1</Element1>
</DocumentElement>
推理过程将生成一个名为 Element1 的表,该表包含两列:attr1 和 Element1_Text。 attr1 列的 ColumnMapping 属性将设置为 MappingType.Attribute。 Element1_Text 列的 ColumnMapping 属性将设置为 MappingType.SimpleContent。
数据集:DocumentElement
表:Element1
attr1 | Element1_Text |
---|---|
value1 | Text1 |
如果某元素包含文本,并且还具有包含文本的子元素,则不会将列添加到表中来存储该元素所包含的文本。 该元素中包含的文本将被忽略,但子元素中的文本将包含在表的一行中。 例如,考虑以下 XML。
<Element1>
Text1
<ChildElement1>Text2</ChildElement1>
Text3
</Element1>
推理过程将生成一个名为 Element1 的表,它包含一个名为 ChildElement1 的列。 ChildElement1 元素的文本将包含在表的一行中。 其他文本则将被忽略。 ChildElement1 列的 ColumnMapping 属性将设置为 MappingType.Element。
数据集:DocumentElement
表:Element1
ChildElement1 |
---|
Text2 |