asp.net 取xml节点问题

问题描述

xml内容如下:<?xmlversion="1.0"encoding="UTF-8"?><aa><bbvalue="1"name="n1"><ccvalue="1"name="c1"/><ccvalue="2"name="c2"/></bb><bbvalue="2"name="n1"><ccvalue="1"name="c1"/><ccvalue="2"name="c2"/></bb></aa>我是先取aa/bb然后用取aa/bb的value=1下面的cc节点我只会取aa/bb怎么取bb下的所有cc切点呢?//查找数据。返回一个DataView

解决方案

解决方案二:
XmlDocumentxd=newXmlDocument();xd.Load(Server.MapPath("test.xml"));XmlNodexn=xd.SelectSingleNode("//aa/bb[@value=1]");XmlNodeListxl=xn.ChildNodes;for(inti=0;i<xl.Count;i++){Response.Write(xl[i].Attributes.Item(0).Value+"<br/>");}
解决方案三:
楼上的可以,但怎么返回一个DataView呢?
解决方案四:
我是这样取的publicDataViewGetData(stringXmlPathNode){//查找数据。返回一个DataViewDataSetds=newDataSet();StringReaderread=newStringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);ds.ReadXml(read);returnds.Tables[0].DefaultView;}我这样取值取不到,出现对象引用错误DataViewa=GetData("//aa/bb[@value=1]")哪位告我下怎么用?
解决方案五:
XmlDocumentxd=newXmlDocument();xd.Load(Server.MapPath("test.xml"));XmlNodexn=xd.SelectSingleNode("//aa/bb[@value=1]");XmlNodeListxl=xn.ChildNodes;DataSetds=newDataSet();StringReadersr=newStringReader(xn.OuterXml);ds.ReadXml(sr);returnds.Tables[0].DefaultView;
解决方案六:
楼上的发的和我的一样啊,不过我那个是写到一行了,这样取到的是bb的value=1的这个节点,我要取的是bbvalue=1下的所有cc节点啊
解决方案七:
不是,我手误,打错了.将StringReadersr=newStringReader(xn.OuterXml);改为StringReadersr=newStringReader(xl.OuterXml);
解决方案八:
XmlNodexn=xd.SelectSingleNode("//aa/bb[@value=1]");XmlNodeListxl=xn.ChildNodes;xl.OuterXml就能取到bbvalue=1下的所有cc节点的值

时间: 2024-10-22 00:44:41

asp.net 取xml节点问题的相关文章

asp中读取xml以及Utf-8和Gb2312乱码问题

xml|问题 asp中创建xml对象通常使用:CreateObject("Microsoft.XMLDOM")读取节点:selectSingleNode("nodename")//nodename为节点名.读取属性:attributes.getNamedItem("attribute")//attribute为节点中所具有的属性名.加载xml: load(Server.MapPath("data.xml")) async 属性

使用XmlDocument读取XML节点所有数据

网上有好多ASP.NET读取XML的例子,比如使用Dataset来读取,但本文教程却是使用XmlDocument来读取XML节点下所有数据,我们先来看下这个XML格式:SysRightsDb.xml  XML Code <?xml version="1.0" encoding="utf-8" ?> <root> <rights name="SYS"> <xml name="股票行情"

asp.net 操作xml

asp.net|xml asp.net 对xml文件的读写,添加,修改,删除操作下面有代码调试正确 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebContr

C#删除XML节点

本节通过一个实例介绍如何在程序中删除XML文件中的节点.实例运行结果如图1所示. 程序开发步骤: (1)新建一个网站,其主页默认为Default.aspx. (2)在Default.aspx页面中添加一个Xml控件,用来显示XML文件中的内容,然后添加一个TextBox控件和一个Button控件,分别用来输入要删除的XML节点名和执行删除操作. (3)程序主要代码如下. 当单击[删除]按钮时,程序首先判断TextBox1文本框中内容是否为空,如果不为空,则根据TextBox1文本框中内容在XML

ASP.NET中XML数据的处理

SqlDataSource和ObjectDataSource控件都是平面表格式的数据源控件,操作也相对简单,在这里我就不细说了. ASP.NET中XML数据是怎样的处理呢?下面就详细讲解. 在这里我主要谈下用于连接XML文件的XmlDataSource和用于连接站点导航数据的SiteMapDataSource这两个层次数据源控件中XmlDataSource数据绑定到平面表格控件的一些东西. XmlDataSource控件允许其它控件绑定到XML数据.XmlDataSource支持DataFile

asp.net操作xml增删改示例分享

 这篇文章主要介绍了asp.net操作xml增删改示例,需要的朋友可以参考下   代码如下: using System;  using System.Collections;  using System.ComponentModel;  using System.Data;  using System.Drawing;  using System.Web;  using System.Web.SessionState;  using System.Web.UI;  using System.We

ASP.NET存取XML实例代码与注解

  ASP.NET存取XML实例代码: using System.Xml; 初始化一个xml实例 XmlDocument xml=new XmlDocument(); 导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("../7in10.xml")); 指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); 获取节点下所有直接子节点

javascript获取xml节点的最大值

 这篇文章主要介绍了利用javascript获取xml节点的最大值.需要的朋友可以过来参考下,希望对大家有所帮助 假设现在当前时间为7000毫秒.当时间为3000--6000是去3000的值,当6000--9000时取6000的值,即取xml中小于当前时间的最大值   xml文件,   代码如下: <?xml version="1.0" encoding="utf-8"?> <catalog> <cd> <ID>2&l

Linq to XML节点查找删除修改实现代码

本文并不对它的概念进行详细介绍,取而代之的是说说在.Net下怎么去操作XML文件.点一下题外话,XML是标准通用标记语言(SGML)的子集,可以跨平台运行,非常适合Web传输,在不同的编程语言(PHP.Java..Net等)里面都有广泛运用,所以对于XML的操作,将是你必须掌握的一门技术.   下面我们来看看XML文档是长什么样子的,这里将要以下图为例来进行说明.XML可以用来描述数据定义.类型等,它一般是被用作数据存储和数据传输. 图 一   用下面的方法可以生成上面xml的文件,生成一个xm