在.NET Framework中轻松处理XML数据(2-2)

2016-02-19 20:41 8 1 收藏

下面图老师小编要向大家介绍下在.NET Framework中轻松处理XML数据(2-2),看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

  String和Fragment

  程序员把在MSXML的程序剪切下来,会发现在COM和.NET Framework XML API 之间的差别很大。.NET Framework类本身没有提供方法去分析存储在字符串中XML数据。不像MSXML分析器对象,XmlTestReader类没有提供任何一种LoadXML方法从一个格式良好的字符中创建阅读器。没有提供类似LoadXML的方法因为你可以用特殊的text reader---StringReader类来获得同样的功能。

  XMLTextReader其中一个构造函数接受一个TextReader派生对象和一个XML reader作参数(该阅读器以text reader的内容为基础创建)。一个text reader类是一个流,这个流是输入的字符经优化生成的。StringReader类继承TextReader类,并用一个内存中字符串作为其输入流。下面的代码片断演示了怎样初始化一个XML reader,用一个格式良好的XML 字符串作为其输入:

  string XMLText = "...";

  StringReader strReader = new StringReader(XMLText);

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  XMLTextReader reader = new XmlTextReader(strReader);

  另外,用StringWriter类代替TextWrite类,你可以从内存字符中创建一个XML文档。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  一个指定类型的XML字符串是一个XML片断(fragment). XML片断由XML文本构成,但没有根节点的XML文档不是格式良好的XML文档,所以不能被应用。一个XML片断是原始的文档的一部分,所以它可能缺少根节点。例如,下面的XML文本是一个有效的XML 片断,但不是一个有效的XML文档,因为它没有根节点:

  Dino

  Esposito

  .NET Framework XML API允许程序员把XML片断与一个分析器内容结合使用,分析器内容由类似encoding字符集,DTD文档,命名空间,语言和空格处理程序构成:

  public XMLTextReader(

  string XMLFragment,

  XMLNodeType fragType,

  XMLParserContext context

  );

  XMLFragment参数包括了XML字符串分析。FragType参数表示fragment的类型,它给出了fragment根节点的类型。只有element,attibute和document类型的节点才能作为fragment的根节点,分析器的内容才能被XmlParserContext类解释。

来源:http://www.tulaoshi.com/n/20160219/1624300.html

延伸阅读
标签: Web开发
分析属性值 大部分情况下,属性值都是一个简单的文本字符串。然而,这并不意味着实际应用中的属性值都是字符型的。有时候,属性值是由许多种类型的数据组合而成的,例如Date或Boolean,这时,你就要用XmlConvert或System.Convevt类的方法把这些类型转换成原来的类型。XmlConvert和System.Convevt类都能实现数据类型的转换,但是XmlConv...
标签: Web开发
每个节点的类型是XMLNodeType枚举中的一种,在如图三所示的代码中,我们只用了其中的两种类型:Element 和 EndElement。输出源码重新定制了原始的文档结构,它丢弃或者说是忽略了XML元素的属性和节点内容,只输出了元素节点名。假设我们运用了下面的XML片断: <mags> <mag name="MSDN Magazine"> MSDN Magazine ...
标签: Web开发
图八中代码演示了把一个string数据转换为Base64 编码的XML流。图九是输出的结果。 Figure 8 Persisting a String Array as Base64 using System; using System.Text; using System.IO; using System.XML; class MyBase64Array { public static void Main(String[] args) { string outputFileName = "test64.XML"; if...
标签: Web开发
在.NET Framework中,XMLTextReader和XmlTextWriter类提供了对xml数据的读和写操作。在本文中,作者讲述了XML阅读器(Reader)的体系结构及它们怎样与XMLDOM 和SAX 解释器结合。作者也演示了怎么样运用阅读器分析和验证XML文档,怎么样创建格式良好的XML文档,以及怎么样用函数读/写基于Base64和BinHex编码的大型的XML文档。最后,作者讲了怎...
标签: Web开发
Figure 9 String Array in Internet Explorer Reader类有专门的解释Base64和BinHex编码流的方法。下面的代码片断演示了怎么样用XMLTextReader类的ReadBase64方法解析用Base64和BinHex编码集创建的文档。 XMLTextReader reader = new XmlTextReader(filename); while(reader.Read()) { if (reader.LocalName == "element") { ...

经验教程

653

收藏

22
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部