Inferindo texto do elemento
Se um elemento contiver texto e não tiver elementos filho a serem inferidos como tabelas (como elementos com atributos ou elementos repetidos), uma nova coluna com o nome TableName_Text será adicionada à tabela que é inferida para o elemento. O texto contido no elemento será adicionado a uma linha na tabela e armazenado na nova coluna. A propriedade ColumnMapping da nova coluna será definida como MappingType.SimpleContent.
Por exemplo, considere o seguinte XML.
<DocumentElement>
<Element1 attr1="value1">Text1</Element1>
</DocumentElement>
O processo de inferência produzirá uma tabela chamada Element1 com duas colunas: attr1 e Element1_Text. A propriedade ColumnMapping da coluna attr1 será definida como MappingType.Attribute. A propriedade ColumnMapping da coluna Element1_Text será definida como MappingType.SimpleContent.
DataSet: DocumentElement
Tabela: Element1
ATTR1 | Element1_Text |
---|---|
valor1 | Texto1 |
Se um elemento contiver texto, mas também tiver elementos filho que contenham texto, uma coluna não será adicionada à tabela para armazenar o texto contido no elemento. O texto contido no elemento será ignorado, enquanto o texto nos elementos filho será incluído em uma linha na tabela. Por exemplo, considere o seguinte XML.
<Element1>
Text1
<ChildElement1>Text2</ChildElement1>
Text3
</Element1>
O processo de inferência produzirá uma tabela chamada Element1 com uma coluna chamada ChildElement1. O texto para o elemento ChildElement1 será incluído em uma linha na tabela. O outro texto será ignorado. A propriedade ColumnMapping da coluna ChildElement1 será definida como MappingType.Element.
DataSet: DocumentElement
Tabela: Element1
ChildElement1 |
---|
Texto2 |