Пример #1
0
 private static void IterateXml(XmlNode xmlElement, IBNode node)
 {
     foreach (XmlNode elem in xmlElement.ChildNodes)
     {
         IBNode childNode = new IBNode(elem.Name, elem.Value, node); //value .ChildNodes[0]
         if (elem.HasChildNodes)
         {
             IterateXml(elem, childNode);
         }
     }
 }
Пример #2
0
        public static IBNode ConvertXml2IBF(string xmlText)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xmlText);

            IBNode node = new IBNode(doc.ChildNodes[0].Name, doc.ChildNodes[0].Attributes["name"]?.Value, null);

            IterateInnerXml(doc.ChildNodes[0].InnerXml, node);
            return(node);
        }
Пример #3
0
 public IBNode(string name, object value, IBNode parentNode)
 {
     if (string.IsNullOrEmpty(name))
     {
         throw new Exception("Node name can not be null or empty");
     }
     this.ParentNode = parentNode;
     this.Name       = name;
     this.Value      = value;
     if (parentNode != null)
     {
         parentNode.AddChildNode(this);
     }
     ChildNodes = new List <IBNode>();
 }
Пример #4
0
        private static void IterateInnerXml(string xmlText, IBNode parentNode)
        {
            if (string.IsNullOrEmpty(xmlText))
            {
                return;
            }
            XmlDocument doc = XmlDocumentConverter(xmlText);

            foreach (XmlNode elem in doc.ChildNodes)
            {
                IBNode node = new IBNode(elem.Name, elem.Attributes["name"].Value, parentNode);
                foreach (XmlNode elem2 in elem.ChildNodes)
                {
                    IterateInnerXml(elem2.OuterXml, node);
                }
            }
        }
Пример #5
0
 public void AddChildNode(IBNode childNode)
 {
     ChildNodes.Add(childNode);
 }