private static DataTableFile.Node ReadNode(XPathNavigator nav) { var node = new DataTableFile.Node(); node.Name = nav.Name; if (nav.IsEmptyElement == true) { node.Children = new List <DataTableFile.Node>(); } else { var children = nav.SelectChildren(XPathNodeType.Element); if (children != null && children.Count > 0) { node.Children = ReadNodes(children); } else { node.Value = nav.Value; } } return(node); }
private static void WriteNode(XmlWriter writer, DataTableFile.Node parent) { writer.WriteStartElement(parent.Name); if (parent.Children != null) { WriteNodes(writer, parent.Children); } else { writer.WriteValue(parent.Value); } writer.WriteEndElement(); }