zoukankan      html  css  js  c++  java
  • xml文档的读取

    xml文档有写入,当然就有读取了,在这里还是简单介绍一个读取的方法,就是利用XMLTextReader读取xml文档。

      XmlReader是一种快速、无缓冲,向前并只读的游标,用于读取xml文档,并且隐藏了底层数据交换的复杂性,XMLReader最主要的一个就是他更易使用,其次性能更高,难度更低。

     1  public string ReadXml(string path)
     2     {
     3         //由于要进行大量的字符串的拼接,所以先创建StringBuilder对象
     4             StringBuilder sb = new StringBuilder();
     5         //首先创建一个XMLTextReader对象,并传入目标文件的地址
     6         using (XmlTextReader reader = new XmlTextReader(path))
     7         {
     8             
     9             while (reader.Read())//调用Read方法
    10             {
    11                 switch (reader.NodeType)
    12                 {
    13                     case XmlNodeType.Element:
    14                         sb.Append("Element:<b>").Append(reader.Name).Append("</b></br>");
    15                         break;
    16                     case XmlNodeType.Text:
    17                         sb.Append("Value:<b>").Append(reader.Value).Append("</b></br>");
    18                         break;
    19                     case XmlNodeType.XmlDeclaration:
    20                         sb.Append("Xml  Declaration:<b>").Append(reader.Value).Append("</b></br>");
    21                         break;
    22                 }
    23                 if (reader.AttributeCount > 0)
    24                 {
    25                     while (reader.MoveToNextAttribute())
    26                     {
    27                         sb.Append("--Attribute:<b>").Append(reader.Name).Append("</b>").Append("value:<b>").Append(reader.Value).Append("</b></br>");
    28                     }
    29                 }
    30             }
    31         }
    32         return sb.ToString();
    33 
    34 
    35 
    36 
    37     }

    调用上面的方法得到的结果:

    Xml Declaration:version="1.0"
    --Attribute:versionvalue:1.0
    Element:Students
    Element:Student
    --Attribute:Classvalue:5年级
    Element:name
    Value:张三
    Element:sex
    Value:男
    Element:height
    Value:183cm
    Element:Student
    --Attribute:Classvalue:4年级
    Element:name
    Value:李四
    Element:sex
    Value:女
    Element:height
    Value:176cm
  • 相关阅读:
    kubernetes 网络故障遇见的坑
    CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步
    centos 7 git的管理和使用
    阿里云 ECS 监控报警设置
    ECS centos7 使用外部邮件服务商的465加密端口
    阿里云ECS 固定带宽变为按量付费的方式
    centos6 和centos7 安装git 的区别
    nginx 新增域名访问
    if 判断文件
    前端基础进阶(一):内存空间详细图解
  • 原文地址:https://www.cnblogs.com/zhhwDavidblog/p/4445677.html
Copyright © 2011-2022 走看看