コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }