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

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

下面是个超简单的在.NET Framework中轻松处理XML数据(4-3)教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 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 (args.Length 0)

outputFileName = args[0]; // file name

// 把数组转换成XML

String[] theArray = {"Rome", "New York", "Sydney", "Stockholm",

"Paris"};

CreateOutput(theArray, outputFileName);

return;

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

}

private static void CreateOutput(string[] theArray, string filename)

{

// 打开XML writer

XMLTextWriter xmlw = new XmlTextWriter(filename, null);

//使子元素根据 Indentation 和 IndentChar 设置缩进。此选项只对元素内容进行缩进

XMLw.Formatting = Formatting.Indented;

//书写版本为“1.0”的 XML 声明

XMLw.WriteStartDocument();

//写出包含指定文本的注释 。

XMLw.WriteComment("Array to Base64 XML");

//开始写出array节点

XMLw.WriteStartElement("array");

//写出具有指定的前缀、本地名称、命名空间 URI 和值的属性

XMLw.WriteAttributeString("xmlns", "x", null, "dinoe:msdn-mag");

// 循环的写入array的子节点

foreach(string s in theArray)

{

//写出指定的开始标记并将其与给定的命名空间和前缀关联起来

XMLw.WriteStartElement("x", "element", null);

//把S转换成byte[]数组, 并把byte[]数组编码为 Base64 并写出结果文本,要写入的字节数为s总长度的2倍,一个string占的字节数是2字节。

XMLw.WriteBase64(Encoding.Unicode.GetBytes(s), 0, s.Length*2);

//关闭子节点

XMLw.WriteEndElement();

}

//关闭根节点,只有两级

XMLw.WriteEndDocument();

// 关闭writer

XMLw.Close();

// 读出写入的内容

XMLTextReader reader = new XmlTextReader(filname);

while(reader.Read())

{

//获取节点名为element的节点

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

if (reader.LocalName == "element")

{

byte[] bytes = new byte[1000];

int n = reader.ReadBase64(bytes, 0, 1000);

string buf = Encoding.Unicode.GetString(bytes);

Console.WriteLine(buf.Substring(0,n));

}

}

reader.Close();

}

}

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

延伸阅读
标签: Web开发
ValidationType属性设置验证的类型,它可以是:DTD, XSD, XDR或者none。如果没有指定验证的类型(用ValidationType.Auto选项),阅读器将自动的根据文档用最适合的验证类型。在验证过程中出现任何错误,都会触发ValidationEventHandler事件。如果未提供事件ValidationEventHandler事件处理程序,则抛出一个XML异常。定义ValidationEventHand...
标签: Web开发
带验证的阅读器 XMLValidatingReader类实现了XmlReader类,它提供了支持多种类型的XML验证:DTD,XML-Data Reduced(XDR)架构,以及XSD,DTD和XSD都是W3C官方推荐的。而XDR是Microsoft早期用于处理XML构架的一种格式。 你可以用XMLVlidatingReader类去验证XML文档和XML片断。XmlValidatingReader类工作在XML阅读器上面---是一个...
标签: Web开发
图十二所示的代码演示了客户端用XMLTextReadWriter类在读操作的同时修改属性值的优势。在本期的msdn中提供了XmlTextReadWriter类的C#和VB源代码下载(见本文开头提供的链接)。 Figure 12 Changing Attribute Values private void ApplyChanges(string nodeName, string attribName, string oldVal, string newVal) { XMLTextRead...
标签: Web开发
在.NET Framework中,XMLTextReader和XmlTextWriter类提供了对xml数据的读和写操作。在本文中,作者讲述了XML阅读器(Reader)的体系结构及它们怎样与XMLDOM 和SAX 解释器结合。作者也演示了怎么样运用阅读器分析和验证XML文档,怎么样创建格式良好的XML文档,以及怎么样用函数读/写基于Base64和BinHex编码的大型的XML文档。最后,作者讲了怎...
标签: Web开发
设计XMLReadWriter类 如前面所说,XML reader和Writer是各自独立工作的:reader只读,writer只写。假设你的应用程序要管理冗长的XML文档,且该文档有不确定的数据。Reader提供了一个很好的方法去读该文档的内容。另一方面,Writer是一个非常有用的用于创建XML文档片断工具,但是如果你想要它即能读,又能写,那么你就要用XMLDOM了。...

经验教程

839

收藏

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