private void AttachRows(DataRow parentRow, XmlNode parentElement)
{
if (parentElement != null)
{
for (XmlNode node = parentElement.FirstChild; node != null; node = node.NextSibling)
{
if (node.NodeType == XmlNodeType.Element)
{
XmlElement e = (XmlElement)node;
DataRow rowFromElement = this.GetRowFromElement(e);
if ((rowFromElement != null) && (rowFromElement.RowState == DataRowState.Detached))
{
if (parentRow != null)
{
rowFromElement.SetNestedParentRow(parentRow, false);
}
rowFromElement.Table.Rows.Add(rowFromElement);
}
else if (rowFromElement == null)
{
this.AttachRows(parentRow, node);
}
this.AttachRows(rowFromElement, node);
}
}
}
}