Inferring Element Text (ADO.NET)
If an element contains text and has no child elements to be inferred as tables (such as elements with attributes or repeated elements), a new column with the name TableName_Text will be added to the table that is inferred for the element. The text contained in the element will be added to a row in the table and stored in the new column. The ColumnMapping property of the new column will be set to MappingType.SimpleContent.
For example, consider the following XML.
<DocumentElement>
<Element1 attr1="value1">Text1</Element1>
</DocumentElement>
The inference process will produce a table named Element1 with two columns: attr1 and Element1_Text. The ColumnMapping property of the attr1 column will be set to MappingType.Attribute. The ColumnMapping property of the Element1_Text column will be set to MappingType.SimpleContent.
DataSet: DocumentElement
Table: Element1
attr1 |
Element1_Text |
---|---|
value1 |
Text1 |
If an element contains text, but also has child elements that contain text, a column will not be added to the table to store the text contained in the element. The text contained in the element will be ignored, while the text in the child elements is included in a row in the table. For example, consider the following XML.
<Element1>
Text1
<ChildElement1>Text2</ChildElement1>
Text3
</Element1>
The inference process will produce a table named Element1 with one column named ChildElement1. The text for the ChildElement1 element will be included in a row in the table. The other text will be ignored. The ColumnMapping property of the ChildElement1 column will be set to MappingType.Element.
DataSet: DocumentElement
Table: Element1
ChildElement1 |
---|
Text2 |
See Also
Concepts
Loading a DataSet from XML (ADO.NET)
Loading DataSet Schema Information from XML (ADO.NET)
Other Resources
Inferring DataSet Relational Structure from XML (ADO.NET)
Using XML in a DataSet (ADO.NET)