Xml解析之排除注释 您所在的位置:网站首页 xml里面怎么注释 Xml解析之排除注释

Xml解析之排除注释

#Xml解析之排除注释| 来源: 网络整理| 查看: 265

总结:

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 实验室设备网 版权所有