Inferir texto de elemento
Si un elemento contiene texto y no tiene elementos secundarios que se vayan a deducir como tablas (como elementos con atributos o elementos repetidos), se agregará una nueva columna denominada TableName_Text a la tabla que se deduzca del elemento. El texto contenido en el elemento se agregará a una fila de la tabla y se almacenará en la nueva columna. La propiedad ColumnMapping de la nueva columna se establecerá como MappingType.SimpleContent.
Por ejemplo, tomemos el siguiente código XML.
<DocumentElement>
<Element1 attr1="value1">Text1</Element1>
</DocumentElement>
El proceso de inferencia producirá una tabla denominada Element1 con dos columnas: attr1 y Element1_Text. La propiedad ColumnMapping de la columna attr1 se establecerá en MappingType.Attribute. La propiedad ColumnMapping de la columna Element1_Text se establecerá en MappingType.SimpleContent.
DataSet: DocumentElement
Tabla: Element1
attr1 | Element1_Text |
---|---|
value1 | Text1 |
Si un elemento contiene texto, pero también tiene elementos secundarios que contienen texto, no se agregará una columna a la tabla para almacenar el texto contenido en el elemento. El texto contenido en el elemento se pasará por alto, mientras que el texto de los elementos secundarios se incluirá en una fila de la tabla. Por ejemplo, tomemos el siguiente código XML.
<Element1>
Text1
<ChildElement1>Text2</ChildElement1>
Text3
</Element1>
El proceso de inferencia producirá una tabla llamada Element1 con una columna denominada ChildElement1. El texto del elemento ChildElement1 se incluirá en una fila de la tabla. El otro texto se pasará por alto. La propiedad ColumnMapping de la columna ChildElement1 se establecerá en MappingType.Element.
DataSet: DocumentElement
Tabla: Element1
ChildElement1 |
---|
Text2 |