软件测试开发技术.Net中的XmlReader与XmlWriter解析[2]

发表于:2009-08-12来源:作者:点击数: 标签:软件测试XmlWriterXmlReaderNetNET
软件测试 开发 技术.Net中的XmlReader与XmlWriter解析[2] .Net网站架构 关键字:.Net XmlReader XmlWriter 检索属性数据 AttributeCountry属性确定属性个数。GetAttribute()方法按照名称或索引来获取属性,如果要一次迭代一个属性就可以使用MoveToFirstAttri

软件测试开发技术.Net中的XmlReader与XmlWriter解析[2]  .Net网站架构

关键字:.Net XmlReader XmlWriter

  检索属性数据

  AttributeCountry属性确定属性个数。GetAttribute()方法按照名称或索引来获取属性,如果要一次迭代一个属性就可以使用MoveToFirstAttribute()和MoveToNextAttribute()方法。

  richTextBox1.Clear();

  XmlReader tr = XmlReader.Create("book.xml");

  while (tr.Read()){

  if (tr.NodeType == XmlNodeType.Element){

  for (int i = 0; i < tr.AttributeCount; i++){

  richTextBox1.AppendText(tr.GetAttribute(i)+"\r\n");

  }

  }

  }

  使用XmlReader类进行验证

  有时不但要知道文档的格式是规范的,还是确定文档是有效的。

  XmlReader可以使用XmlReaderSettings,根据XSD模式验证XML。XSD模式添加到XMLSchemaSet中,通过Schema属性可以访问XMLSchemaSet。XsdValidate属性还必须设置为ture,这个属性默认为flase.

  XmlWriter类可以把Xml写入一个流、文件、StringBuilder,TextWriter或另一个XmlWriter对象中。与XmlReader一样,XmlWriter类以只向前、未缓存的方式 进行写入。

  使用XmlWirterSettings对旬进行是否缩进文本、缩进量等配置。

  XmlWriterSettings settings = new XmlWriterSettings();

  settings.Indent = true; //是否缩进

  settings.NewLineOnAttributes = true;//把每个属性写在一行,这样做可以更容易读取

  XMLXmlWriter writer = XmlWriter.Create("booknew.xml",settings);

  writer.WriteStartDocument();

  writer.WriteStartElement("book");

  writer.WriteAttributeString("genre","Mystery");

  writer.WriteAttributeString("publicationdate","2001");

  writer.WriteAttributeString("ISBN","123456489");

  writer.WriteElementString("title","Case of the Money");

  writer.WriteStartElement("author");

  writer.WriteElementString("name","Cookie Monster");

  writer.WriteEndElement();

  writer.WriteElementString("price","9.99");

  writer.WriteEndDocument();

  writer.Flush();

  writer.Close();

  ·使用XmlWriterSettings实例对象进行生成的XML的设置。

  ·使用Create(),返回一个XmlWriter对象,其中Create(),第一个参数为Xml的名字,第二个参数为XmlWriterSettings实例对象。

  ·使用WriterStartDocument()中文档声明,开始写入数据,以WriteEndDocument()结束。注间控制元素的嵌套,注注意WriterStartElement()和WriterEndElement()的调用与位置。

  ·还有一些专用的写入方法。WriteCData()可以输出一个CData部分(),WriterComment()以正确的XML格式写入注释。WriteChae()写入字符缓冲区的内容。

 

原文转自:http://www.ltesting.net