天道酬勤
--非学无以广才,非志无以成学
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 249 文章- 4 评论- 192
XmlTextReader例子
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Xml;
using
System.Xml.Schema;
public
partial
class
selector : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
ValidationEvtCallBack
#region
ValidationEvtCallBack
public
void
ValidationEvtCallBack(
object
sender, ValidationEventArgs args)
{
if
(args.Severity
==
XmlSeverityType.Warning)
{
areaResut.InnerText
+=
"
Warning:
"
+
args.Message
+
Environment.NewLine;
}
else
{
areaResut.InnerText
+=
"
ValidateError:
"
+
args.Message
+
Environment.NewLine;
}
}
#endregion
protected
void
btnAnalyze_ServerClick(
object
sender, EventArgs e)
{
declare variables
#region
declare variables
XmlTextReader XmlReader
=
null
;
XmlValidatingReader xmlDoc
=
null
;
int
nElements
=
0
;
//
元素个数
int
nAttributes
=
0
;
//
树形个数
int
nComponets
=
0
;
int
nPls
=
0
;
int
nCDATA
=
0
;
string
strWorkingText
=
""
;
areaResut.InnerText
=
""
;
#endregion
try
#region
try
try
{
instance XmlTextReader
#region
instance XmlTextReader
//
xmlDoc = new XmlTextReader(fileSelector.PostedFile.InputStream);
XmlReader
=
new
XmlTextReader(Server.MapPath(
"
XMLFile.xml
"
));
XmlReader.WhitespaceHandling
=
WhitespaceHandling.None;
//
instance XmlValidatingReader;
xmlDoc
=
new
XmlValidatingReader(XmlReader);
xmlDoc.XmlResolver
=
new
XmlUrlResolver();
//
Set ValidationType;
xmlDoc.ValidationType
=
ValidationType.Auto;
//
Set Delegate for ValidationEvent
xmlDoc.ValidationEventHandler
+=
new
ValidationEventHandler(ValidationEvtCallBack);
#endregion
loop xml
#region
loop xml
while
(xmlDoc.Read())
{
switch
(xmlDoc.NodeType)
{
case
XmlNodeType.Element:
nElements
++
;
areaResut.InnerText
+=
"
Element:
"
+
xmlDoc.Name
+
"
has
"
+
xmlDoc.AttributeCount
+
"
attributes
"
+
Environment.NewLine;
nAttributes
+=
xmlDoc.AttributeCount;
while
(xmlDoc.MoveToNextAttribute())
{
areaResut.InnerText
+=
"
\t
"
+
xmlDoc.Name
+
"
-
"
+
xmlDoc.Value
+
Environment.NewLine;
}
break
;
case
XmlNodeType.Text:
strWorkingText
+=
"
|----------------Text:
"
+
xmlDoc.Value
+
Environment.NewLine;
areaResut.InnerText
+=
strWorkingText;
break
;
case
XmlNodeType.DocumentType:
areaResut.InnerText
+=
"
Document has a DocType
"
+
Environment.NewLine;
break
;
case
XmlNodeType.Comment:
nComponets
++
;
areaResut.InnerText
+=
"
Comment:
"
+
xmlDoc.Value
+
Environment.NewLine;
break
;
case
XmlNodeType.ProcessingInstruction:
nPls
++
;
break
;
case
XmlNodeType.CDATA:
nCDATA
++
;
break
;
}
}
#endregion
}
catch
(XmlException ex)
{
this
.Label1.Text
=
ex.Message;
return
;
}
finally
{
if
(xmlDoc
!=
null
)
{
xmlDoc.Close();
}
}
#endregion
}
}
posted @ 2008-04-19 12:38
Robot·H
阅读(77)
评论(1)
编辑
收藏
所属分类:
.NetFramework
发表评论
回复
引用
查看
#1楼
[
楼主
]
2008-04-19 12:38 |
Robot·H
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.IO;
using System.Security;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnCreate_Click(object sender, EventArgs e)
{
#region //filepath
string filepath = "c:\\temp\\XmlTest"+Session.SessionID+".xml"; // \\
Response.Write(filepath);
#endregion
#region instance XmlTExtWrite new XmlTextWriter(string,Encoding)
XmlTextWriter xtw = new XmlTextWriter(filepath, System.Text.Encoding.UTF8);
xtw.Formatting = Formatting.Indented;
xtw.Indentation = 3;
#endregion
//ArgumentException,UnauthorizedAccesException,IOException,DirectoyNotFopund,SecurityException,
#region WriteStartDocument
xtw.WriteStartDocument();
#endregion
#region root element
xtw.WriteStartElement("DocumentCategorization", "urn:xmlabs-com-cat");
#endregion
//statistics
xtw.WriteStartElement("GlobalCount");
xtw.WriteAttributeString("Elements", "2");
xtw.WriteAttributeString("Commponets", "1");
xtw.WriteAttributeString("CDATA", "4");
//clientPath
xtw.WriteStartElement("ClientPath");
xtw.WriteString(filepath);
xtw.WriteEndElement();
xtw.WriteEndElement();
xtw.WriteEndElement();
xtw.Flush();
xtw.Close();
}
}
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
(原创)动态模板列更新数据分页的例子
(原创)DataGrid动态添加模板列的一个例子
MOSS开发环境搭建?
相关链接:
所属分类的其他文章:
ASP.Net中自定义Http处理及应用之HttpHandler篇[转1]
析构函数(C# 编程指南)
SqlConnection建立的一种方法
ASP.NET中TreeView控件使用小结
XmlTextReader例子
xml_xlst_javascript_test
ArrayList的使用方法【转载】
最新IT新闻:
11个处于悬崖边缘的 Web 公司
扎克博格:Facebook要先赚吆喝后赚钱
金融风暴改写富豪榜排名 巴菲特资产超盖茨
红杉资本发出严重警告:黄金时代已成历史
2008年10月11日科技博客精选
公告
我的最新闪存
Microsoft.Press.Inside.Microsoft.SQL.Server.2005.T-SQL.Programming.Jun.2006.chm 确实有点难度。
10-6 13:54
<
2008年4月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我管理的小组
乱七八圾
我参加的小组
设计模式
ASP.NET
我参与的团队
数据库团队(4/280)
随笔分类
.NetFramework(7)
(rss)
Ajax(2)
(rss)
Ajax
(rss)
asp.Net2.0(49)
(rss)
C#2.0(44)
(rss)
CSS+Javacript(21)
(rss)
EC(6)
(rss)
English(2)
(rss)
Interview(2)
(rss)
Office Forms Server+SharePoint Server(1)
(rss)
ProgramLife(29)
(rss)
Sqlserver(28)
(rss)
TechBase(13)
(rss)
UML(3)
(rss)
XML(4)
(rss)
每日一句英语(2)
(rss)
美食天下(2)
(rss)
随笔档案
2008年10月 (7)
2008年9月 (25)
2008年8月 (33)
2008年7月 (30)
2008年6月 (26)
2008年5月 (24)
2008年4月 (11)
2008年3月 (8)
2008年1月 (2)
2007年12月 (2)
2007年11月 (5)
2007年10月 (1)
2007年9月 (26)
2007年8月 (21)
2007年7月 (13)
2007年6月 (11)
2007年5月 (3)
2007年4月 (3)
文章档案
2008年8月 (2)
2007年9月 (1)
相册
Demo
Demo
收藏夹
My Favorite(7)
(rss)
Asp.Net
.Net Ajax`
4guysfromrolla
51aspx
asp.net
C#开源
CodeProject
cristiandarie--SEO
c-sharpcorner.com
DoFactory
DoFactory之设计模式
http://dflying.cnblogs.com/
http://groups.google.com/group/hebust_tangshan
infoq
IT实验室
lyn
MS Forums
MSDN Code Gallery
SilverLight
sourceforge.net
UCenter
UML
w3schools
w3school中文
博客堂
敏捷堂
说故事、学模式
万年历
职场生涯
组件开发
Book Online
杜拉拉升职计
你在为谁工作
Company
facebook
youtube
掘客
康盛创想
DB
connectionstring
SqlServer Magazine
SqlServerCenter
邹建
EC
facebook 研究系列
open platform
艾瑞
创意纪
电子商务博客
丁学的博客
胡宝洁
开心
开心网
麦田
亚马逊
詹鹏
English
bjEnglish
China Daily
EnglishTown
i词霸
language_tools
NBC
华尔街英语
friend
5721美食
NzPerfec
JS+CSS+XML+DOM
Ajax基础教程 - 免费试读 - book.csdn.net
SAX
subModal google group
xml bbs
UML
ArgoUML
最新随笔
1. Tip/Trick: Url Rewriting with ASP.NET 【中文版】
2. Tip/Trick: Url Rewriting with ASP.NET 【英文版】
3. IIRF(Ionic's Isapi Rewrite Filt er)入门,在IIS上重写Url[转 ]
4. ISAPI Rewrite 介绍及相关应用
5. ASP.Net中自定义Http处理及应用之HttpHandler篇[转1]
6. 正则后向引用的一个例子
7. [你必须知道的.NET] 第三回:历史纠葛:特性和属性
8. dynamic sql 之sp_executesql的运用
9. dynamic sql之exec灵活运用
10. 国庆打算!
11. 你的文件过期了吗?
12. 电子商务之佣金计算
13. ref out 的范例
14. full join 的一个小应用
15. js全选
16. [转]Using Pointers in C#
17. Asynchronous Nature of Delegates
18. 只有parentid
19. 众多数据,只选你一个
20. Why and when using where keyword within a generic class context
Google搜索
积分与排名
积分 - 37461
排名 - 1158
最新评论
1. re: 动态sql
訪問以下! (QQ天堂)
2. re: 国庆打算!
@丁学
有4张银行卡,来回取,麻烦了。 (Robot·H)
3. re: 国庆打算!
哇~~~
存钱花一天的时间,看来这队排得够长 (丁学)
4. re: 电子商务之佣金计算
@Robot.H 如果这东西只为一类商品写的,那么这样做是合理的,如果作为多类商品同时存在写的,就是不合理的,如果你在程序中建立两个A类商品,又建立两个B类商品,你配置上就没法写了。 记得在伍迷的书里... (球球)
5. re: 电子商务之佣金计算
@子逸
谢谢!
学习asp.Net不长。
以后大哥多多指教。 (Robot·H)
阅读排行榜
1. 电子商务之佣金计算(1778)
2. 【已经找到】准备找工作了[北京地区C#](746)
3. 完美的Div弹出窗口(611)
4. 大家讨论一下这个图如何设计程序。(561)
5. 预警度测试报告书(517)
评论排行榜
1. 大家讨论一下这个图如何设计程序。(18)
2. 面试1(11)
3. 真的很无奈(10)
4. 【已经找到】准备找工作了[北京地区C#](9)
5. 完美的Div弹出窗口(9)
60天内阅读排行
1. 电子商务之佣金计算(1778)
2. 预警度测试报告书(517)
3. json实例(237)
4. msSQL2005数据库备份 (174)
5. 毛驴进城(141)