xml学习(二)---运用XmlTextWriter及XmlTextReader操作Xml

之前学习的xml操作是运用XmlDocument对象来实现的,下面的是运用XmlTextWriter、XmlTextReader来操作的,XmlTextWriter对象是主要对xml文件进行写操作,而XmlTextReader主要是对xml文件进行读的操作

 

下面是XmlTextWriter对象操作的代码

 

 //设置格式,对元素内容进行缩进
      protected void btnAddXmlWriter_Click(object sender, EventArgs e)
    {
        string path=Server.MapPath(".");
       
        //创建xmlwriter对象
        XmlTextWriter xmlTextWriter = new XmlTextWriter(path + "//Student.xml",null);

        //设置格式,对元素内容进行缩进
        xmlTextWriter.Formatting = Formatting.Indented;

        //书写版本为1.0的xml声明
        xmlTextWriter.WriteStartDocument();

        //写出在名称和文本之间带有空格的处理指令
        string PItext = "type='text/xml' href='book.xml'";
        xmlTextWriter.WriteProcessingInstruction("xml-stylesheet", PItext);

        //增加指定名称和可选属性的DocType
        xmlTextWriter.WriteDocType("学生", null, null, "<!ENTITY sex '男'>");

        //增加注释
        xmlTextWriter.WriteComment("xml注释");

        //开始创建元素
        xmlTextWriter.WriteStartElement("学生");

        //创建属性

        xmlTextWriter.WriteAttributeString("专业", " 计算机");
        xmlTextWriter.WriteAttributeString("日期", "2008-09-01");

        xmlTextWriter.WriteElementString("姓名", "李天平");//创建元素1

        xmlTextWriter.WriteStartElement("性别");//创建元素2

        xmlTextWriter.WriteEntityRef("sex");//创建对上面的引用,显示自动替换为男

        xmlTextWriter.WriteEndElement();

        xmlTextWriter.WriteElementString("年龄", "25");

        xmlTextWriter.WriteCData("年龄太大了");

        xmlTextWriter.WriteEndElement();

        xmlTextWriter.WriteEndDocument();

        xmlTextWriter.Flush();

        xmlTextWriter.Close();


    }

 

下面是XmlTextReader对象操作的代码

 

protected void btnReader_Click(object sender, EventArgs e)
    {
        string path = Server.MapPath(".");
        //创建xml文档
        XmlDocument xmlDoc=new XmlDocument();

        //创建xml读取器
        XmlTextReader reader = new XmlTextReader(path + "//student.xml");

        //通过xml读取器加载xml文档
        xmlDoc.Load(reader);

        string s = "", v = "";

        while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    s=reader.Name;
                    break;
                case XmlNodeType.Text:
                    {
                        if (s.Equals("Name"))
                        {
                            v = reader.Value;
                        }
                        else
                            v = reader.Value;
                    }
                    break;
            }
        }
        if (reader != null)
        {
            reader.Close();
        }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值