您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Xml之Linq如何遍历存储的数据

2024/3/28 19:51:18发布7次查看
很多时候我们需要用到xml文件,但是什么是xml文件呢?
以下我们用一个例子来说明:testresult.xml文件
<?xml version="1.0" encoding="utf-8" ?> <columns> <column id="序号"> <name>序号</name> </column> <column id="检验项目"> <name>检验项目</name> </column> <column id="单位"> <name>单位</name> </column> <column id="标准要求"> <name>标准要求</name> </column> <column id="检验结果"> <name>检验结果</name> </column> <column id="结论"> <name>结论</name> </column> </columns>
以上就是一个xml文件,我们知道,xml文件是用来存储数据的,那么我们如何遍历这些数据呢?
其实最简单的方法,就是使用linq:
private void gettestresultxml() { list<string> itestresultxml=new list<string>(); //定义并从xml文件中加载节点(根节点) xelement rootnode = xelement.load(@"..\..\xml\testresult.xml"); //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......) ienumerable<xelement> targetnodes = from target in rootnode.descendants("column") select target; foreach (xelement node in targetnodes) { itestresultxml.add(node.value); } }
这样我们就可以获得 <column/> 标签里所有的数据了,并把他们存储到列表itestresultxml中。
在testresult.xml文件中,我们看到, <column/> 标签设置了本身的id,而此id并不是他的数据,而是他的一个属性,
那么如果我们想获得他的属性而不是他标签里的内容该如何获得呢?
private void gettestresultxml() { list<string> ixmlid = new list<string>(); //定义并从xml文件中加载节点(根节点) xelement rootnode = xelement.load(@"..\..\xml\testresult.xml"); //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......) ienumerable<xelement> targetnodes = from target in rootnode.descendants("column") select target; foreach (xelement node in targetnodes) { ixmlid.add(node.attribute("id").value); //获取指定属性的方法 } }
这样我们就获取了 9ca8bcd8dc9da41be539812c43422c59 标签里id属性的列表ixmlid。
以上就是xml之linq如何遍历存储的数据的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product