Xml解析之排除注释 | 您所在的位置:网站首页 › xml里面怎么注释 › Xml解析之排除注释 |
总结: 1、Xml中的注释也被当作节点元素; 示例XMLFile1.xml: {标题1} {详细标题1} {详细名称}
C#解析代码: private void button1_Click(object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load("XMLFile1.xml"); // 根节点 XmlNode node = doc.DocumentElement; // 遍历根节点的子节点 foreach (XmlNode childNode in node.ChildNodes) { // 【注意1:把根节点中的注释当成子节点】 //if (childNode.NodeType != XmlNodeType.Comment) // 判断不等于注释时 //{ textBox1.Text += childNode.InnerText; //} // 遍历根节点的孙节点 foreach (XmlNode item in childNode.ChildNodes) { // 【注意2:把根节点中的子节点的注释当成孙节点】 textBox2.Text += item.InnerText; } } }效果图: 2、如果不要注释这个节点元素,可以根据XmlNodeType这个枚举类型来判断。 // 摘要: // 指定节点的类型。 public enum XmlNodeType { // 摘要: // 如果未调用 Read 方法,则由 System.Xml.XmlReader 返回。 None = 0, // // 摘要: // 元素(例如,)。 Element = 1, // // 摘要: // 特性(例如,id='123')。 Attribute = 2, // // 摘要: // 节点的文本内容。 Text = 3, // // 摘要: // CDATA 节(例如,)。 CDATA = 4, // // 摘要: // 实体引用(例如,#)。 EntityReference = 5, // // 摘要: // 实体声明(例如,)。 Entity = 6, // // 摘要: // 处理指令(例如,)。 ProcessingInstruction = 7, // // 摘要: // 注释(例如,)。 Comment = 8, // // 摘要: // 作为文档树的根的文档对象提供对整个 XML 文档的访问。 Document = 9, // // 摘要: // 由以下标记指示的文档类型声明(例如,)。 DocumentType = 10, // // 摘要: // 文档片段。 DocumentFragment = 11, // // 摘要: // 文档类型声明中的表示法(例如,)。 Notation = 12, // // 摘要: // 标记间的空白。 Whitespace = 13, // // 摘要: // 混合内容模型中标记间的空白或 xml:space="preserve" 范围内的空白。 SignificantWhitespace = 14, // // 摘要: // 末尾元素标记(例如,)。 EndElement = 15, // // 摘要: // 由于调用 System.Xml.XmlReader.ResolveEntity() 而使 XmlReader 到达实体替换的末尾时返回。 EndEntity = 16, // // 摘要: // XML 声明(例如,)。 XmlDeclaration = 17, }也就是如下代码: private void button1_Click(object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load("XMLFile1.xml"); // 根节点 XmlNode node = doc.DocumentElement; // 遍历根节点的子节点 foreach (XmlNode childNode in node.ChildNodes) { // 【注意1:把根节点中的注释当成子节点】 if (childNode.NodeType != XmlNodeType.Comment) // 判断不等于注释时 { textBox1.Text += childNode.InnerText; } // 遍历根节点的孙节点 foreach (XmlNode item in childNode.ChildNodes) { // 【注意2:把根节点中的子节点的注释当成孙节点】 if (item.NodeType != XmlNodeType.Comment) // 判断不等于注释时 { textBox2.Text += item.InnerText; } } } }
效果图如下: |
CopyRight 2018-2019 实验室设备网 版权所有 |