protected XmlNode LoadXNode(XNode node) { var nn = new XmlNode(node.TagName(), node.Value()); if (node.NodeType == System.Xml.XmlNodeType.Element) { var el = node as XElement; foreach (var at in el.Attributes()) { nn.Attrs.Add(new XmlAttr(at.Name.ToString(), at.Value)); } foreach (var n in el.Nodes()) { nn.Children.Add(LoadXNode(n)); } } return nn; }