zoukankan
html css js c++ java
[ASP.net]XML操作相關
以前寫過一個操作XML的相關類。其中有一段是讀取節點值的。
下面代碼:
public
DataView GetData(
string
XmlPathNode)
{
//
Get XML Date,return DataView
try
{
StringReader read
=
new
StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
ds.ReadXml(read);
}
catch
{
objError.ProgramError();
}
if
( ds.Tables.Count
==
0
)
{
return
new
DataView();
}
return
ds.Tables[
0
].DefaultView;
}
此方法是讀取XML數據中指定節點及值。後來在一位朋友改寫了下代碼:
public
DataView GetData(
string
XmlPathNode)
{
//
Get XML Date,return DataView
try
{
//
System.IO.StringReader read = new System.IO.StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
XmlNodeList xnl
=
objXmlDoc.GetElementsByTagName(XmlPathNode);
System.Text.StringBuilder strXml
=
new
System.Text.StringBuilder();
strXml.Append(
"
<?xml version='1.0' ?><root>
"
);
for
(
int
i
=
0
; i
<
xnl.Count; i
++
)
{
strXml.Append( xnl[i].OuterXml );
}
strXml.Append(
"
</root>
"
);
System.IO.StringReader read
=
new
System.IO.StringReader( strXml.ToString() );
ds.ReadXml(read);
}
catch
{
//
}
return
ds.Tables[
0
].DefaultView;
}
此方法是讀取所有XmlPathNode節點及值,重新生成一個XML,返回DataView。
兩方法的區別在於:前者讀取指定節點,後者是讀所有節點。
查看全文
相关阅读:
MyBatis:分页的实现
Mybatis之配置文件
Java之创建线程的方式四:使用线程池
Java之创建线程的方式三:实现Callable接口
Java之线程通信的应用:经典例题:生产者/消费者问题
Java之线程通信的方法
Java之解决线程安全问题的方式三:Lock锁
Java之同步方法处理实现Runnable接口的线程安全问题
Java之同步方法处理继承Thread类的线程安全问题
01 while 循环输入1 2 3 4 5 6 8 9 10
原文地址:https://www.cnblogs.com/HD/p/118897.html
最新文章
vuex状态管理,在网页刷新数据被清空的解决方法。
图片 文字合成
Vue
vue中computed watch
vue 深度监听
vue await async
2019.10.16
vue项目如何刷新当前页面
java 服务重启 js 中被注释代码仍然执行
Promise详解与实现(Promise/A+规范)
热门文章
发布订阅案例讲解
在使用element-ui 在mounted生命函数获取ref变量
非父子组件传递方法
vue vuex使用注意
vue $attrs的使用
组件通信
cacl的使用
数组去重、数组对象去重
Vue elementUi input查询、el-table数据表 、el-pagination分页的使用
MyBatis:使用注解开发
Copyright © 2011-2022 走看看