zoukankan
html css js c++ java
解决了XMLTextReader的用法的一个难题,EndElement
如下,CodeGuru或者CodeProject上找到的例子都没有处理 像这样的情形 :
<a name="test" /> 就是没有 </a>标签的情形,这时候处理a元素是不会碰到 EndElement的。
这里做了一个处理,即判断其深度。
XmlTextReader reader
=
null
;
try
{
reader
=
new
XmlTextReader(streamReader);
startDocument();
//
开始分析
int
dept
=
-
1
;
while
(reader.Read())
{
switch
(reader.NodeType)
{
case
XmlNodeType.Element:
Hashtable attributes
=
new
Hashtable();
string
strURI
=
reader.NamespaceURI;
string
strName
=
reader.Name;
if
(reader.HasAttributes)
{
for
(
int
i
=
0
; i
<
reader.AttributeCount; i
++
)
{
reader.MoveToAttribute(i);
attributes.Add(reader.Name, reader.Value);
}
}
startElement(strURI, strName, strName, attributes);
if
(dept
!=
-
1
&&
reader.Depth
<=
dept)
//
处理 "/>"的标签
endElement(
string
.Empty, reader.Name,
string
.Empty);
dept
=
reader.Depth;
break
;
case
XmlNodeType.EndElement:
endElement(
string
.Empty, reader.Name,
string
.Empty);
break
;
case
XmlNodeType.Text:
characters(reader.Value);
break
;
default
:
break
;
}
}
return
(Namespace) objectStack.Pop();
}
catch
(XmlException e)
{
Console.WriteLine(
"
error occured:
"
+
e.Message);
}
finally
{
if
(reader
!=
null
) reader.Close();
}
查看全文
相关阅读:
eclipse下切换svn用户
Netty实现服务端客户端长连接通讯及心跳检测
Spring Batch系列总括(转载)
SQL中的Null深入研究分析
MySQL报错“1366
Memcache学习php完整一例
Memcache学习笔记
递归和迭代区别
解决textarea 输出有空格问题
解决mysql安装出现error Nr.1045问题
原文地址:https://www.cnblogs.com/xiaotaoliang/p/350867.html
最新文章
SSM启动服务时将数据存入缓存
查看电脑系统日志
使用JDBC出现NoClassDefFoundError异常的解决方法
java.lang.NoSuchMethodError:SpringJAR包版本冲突错误解决方法
浏览器间CSS样式兼容问题
多行显示时,最后一行超出的部分隐藏并显示省略号
JavaScript 数组去重和对象相等判断
JavaScript setTimeout this对象指向问题
IE下form表单密码输入框可以输入中文问题
Angular 双向数据绑定
热门文章
git pull 和git fetch区别?
css Sprite
Angular 依赖注入
HTML 标签:常规元素和空元素
mysql表分区、查看分区
.rdp 文件参数详解
Batik
最好用的FQ软件,技术人员的福音
mysql grant 示例
Guava学习
Copyright © 2011-2022 走看看