public virtual void Init(System.Xml.XmlNode node) { try { Name = node.Name; foreach (System.Xml.XmlAttribute xmlattr in node.Attributes) { VXmlAttribute attr = new VXmlAttribute(this); attr.Name = xmlattr.Name; attr.Value = xmlattr.Value; } foreach (System.Xml.XmlNode xmlNode in node.ChildNodes) { if (xmlNode.NodeType == System.Xml.XmlNodeType.Text) { this.Value = (xmlNode as System.Xml.XmlText).Value; } else { VXmlNode nodeChild = null; switch (xmlNode.NodeType) { case System.Xml.XmlNodeType.Comment: nodeChild = new VXmlComment(Document); nodeChild.Layer = Layer + 1; nodeChild.Init(xmlNode); break; case System.Xml.XmlNodeType.CDATA: nodeChild = new VXmlCDataSection(Document); nodeChild.Layer = Layer + 1; nodeChild.Init(xmlNode); break; default: nodeChild = new VXmlNode(Document); nodeChild.Layer = Layer + 1; nodeChild.Init(xmlNode); break; } //nodeChild.Layer = Layer + 1; nodeChild.Parent = this; _lstChildNode.Add(nodeChild); } } } catch (System.Exception ex) { MessageBox.Show(ex.Message + "\n" + node.OuterXml); } CreateTextLine(); }
public virtual void AddChildNode(System.Xml.XmlNode node) { try { VXmlNode childNode = new VXmlNode(Document); childNode.Init(node); this._lstChildNode.Add(childNode); } catch (System.Exception ex) { MessageBox.Show(ex.Message + "\n" + node.OuterXml); } }
public void LoadXml(string xml) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); try { doc.LoadXml(xml); XmlHeader = new VXmlHeader(this, doc.FirstChild); NodeRoot = new VXmlNode(this); NodeRoot.Init(doc.DocumentElement); m_sFile = ""; NCalc = true; } catch (System.Exception ex) { MessageBox.Show("读取XML字符串失败,请确认xml字符串是否正确。\n" + ex.Message); } }
public void InsertXml(string xml) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); try { doc.LoadXml(xml); if (NodeRoot == null) { NodeRoot = new VXmlNode(this); NodeRoot.Init(doc.DocumentElement); } else if (_editor.Caret.Line > 1) { Line line = this.GetLineByLineCount(_editor.Caret.Line); if (line.Node != null) { if (line == line.Node.FirstLine) { line.Node.Init(doc.DocumentElement); } else { VXmlNode node = line.Node; node.AddChildNode(doc.DocumentElement); } } } NCalc = true; } catch (System.Exception ex) { MessageBox.Show("读取XML字符串失败,请确认xml字符串是否正确。\n" + ex.Message); } }
public void Load(string file) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); try { _bookmarkManager.Clear(); doc.Load(file); XmlHeader = new VXmlHeader(this, doc.FirstChild); NodeRoot = new VXmlNode(this); NodeRoot.Init(doc.DocumentElement); m_sFile = file; NCalc = true; } catch (System.Exception ex) { MessageBox.Show("打开XML文件失败,请确认文件是否正确。\n" + ex.Message); } }