silverlight
发布时间:2022-05-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight 2使用C#遍历XML(兼容Silverlight3),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
在Silverlight 1.1中,C#只能
用XmlReader这样一个非常轻量级的东西来解析XML,因此稍有不慎就
会出现很多非常奇怪的错误,在这里对XML的解析做一个简单的流程介绍吧。 在对流式XML的解析中,XmlReader对XML节点进行一些区分,这些节点的类型包括: 引用内容: public enum XmlNodeType
{ none = 0, Element = 1
在Silverlight 1.1中,C#只能
用XmlReader这样
一个非常轻量级的东西来解析XML,因此稍有不慎就
会出现很多非常奇怪的
错误,
在这里对XML的解析做
一个简单的流程介绍吧。
在对流式XML的解析中,XmlReader对XML节点进行一些区分,这些节点的类型
包括:
引用
内容:
public enum XmlNodeType
{
none = 0,
Element = 1,
Attribute = 2,
TEXT = 3,
CDATA = 4,
EntityReference = 5,
Entity = 6,
Processing
instruction = 7,
Comment = 8,
Document = 9,
DocumentType = 10,
DocumentFragment = 11,
notation = 12,
Whitespace = 13,
SignificantWhitespace = 14,
EndElement = 15,
EndEntity = 16,
XmlDeclaration = 17,
}
其中常用到的有Element、Attribite、Text、CDATA、EndElement等。其中Element类型的节点为“”形式,EndElement的的节点为“”形式,
而Text类型则可以为一对
标记之
间的文本
内容或者节点之
间的空格、换行等。
了解了这些,我们再来看怎么从
一个XML
文件流中找出自己想要的数据。首先假设有
一个这样的XML数据流,其XML结构如下:
热门动漫
OOboy.net
Thu,16 Aug 2007 09:39
:19 GMT
海外剧场
OOboy.net
Thu,16 Aug 2007 09:39
:19 GMT
我们
用XmlReader的Create
方法从这个Stream中创建了
一个XmlReader对象,现在我们解析出想要的数据――item
项目中的各个子项:
title、Catalog、Author、Email、Modified。
引用
内容:
//reader是
一个XmlReader实例
//开始读取流,直到读完为止
//reader.Read()每次读取
一个XML节点(XML节点的描述
在本文开头)
while (reader.Read())
{
//如果该节点是
一个开始节点,而且节点的
名称叫做item
//那么我们继续读取item子树
if ((reader.IsStartElement()) && (reader.LocalName == "item"))
{
//创建一个新的Item对象,后面把数据保存到Item对象中
Item item = new Item(
);
//继续读取Item下面的
内容
using (XmlReader itemReader = reader.ReadSubtree())
{
//开始读取Item下面的
内容,知道读完Item子树为止
//当碰到节点时会跳出循环
while (itemReader.Read())
{
//如果找到
一个Element,我们就读取其中的值
//用这种节点可以忽略空格、回车等等
if (itemReader.NodeType == XmlNodeType.Element)
{
//如果是空节点,比如上文中的这样的节点
//此时读取下
一个节点,否则会出错
if (itemReader.IsEmptyElement)
{
con
Tinue;
}
//如果不是空节点
//把节点的name记录下来
String nod
ename = itemReader.Name;
//读取节点内地文本节点
itemReader.Read(
); if (itemReader.NodeType == XmlNodeType.Text)
{ //根据节点的name,把值保存到Item对应的
属性中
switch (nod
ename.ToUpper())
{ case "
titlE":
ite
m.title = itemReader.Value;
break;
case "CATALOG":
ite
m.catalog = itemReader.Value;
break;
case "AUTHOR":
ite
m.author = itemReader.Value;
break;
case "EMAIL":
ite
m.email = itemReader.Value;
break;
case "MODIFIED":
ite
m.modified = itemReader.Value;
break;
}
}
//读取完成,再读结束节点End Element
itemReader.Read(
); }
}
} } }
大佬总结
以上是大佬教程为你收集整理的Silverlight 2使用C#遍历XML(兼容Silverlight3)全部内容,希望文章能够帮你解决Silverlight 2使用C#遍历XML(兼容Silverlight3)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。