<?xml version="1.0" encoding="UTF-8"?>
<hulu id="1000" name="1000">
<user>
<param name="userID" value="001"/>
<param name="username" value="xman"/>
</user>
</hulu>大家好,想把这个xml 放入 DataGrid中 请问如何操作?形式为这样的 userid username
001 xman XmlNodeList nodes = dom.SelectNodes("hulu/user/param[@name='userID']|hulu/user/param[@name='username']");
用这个好象放不了两列急需 谢谢~~~各位`~~ps:这个问题是朋友提的, 查询出所有是user节点且满足name='userID' 和name='username'
<hulu id="1000" name="1000">
<user>
<param name="userID" value="001"/>
<param name="username" value="xman"/>
</user>
</hulu>大家好,想把这个xml 放入 DataGrid中 请问如何操作?形式为这样的 userid username
001 xman XmlNodeList nodes = dom.SelectNodes("hulu/user/param[@name='userID']|hulu/user/param[@name='username']");
用这个好象放不了两列急需 谢谢~~~各位`~~ps:这个问题是朋友提的, 查询出所有是user节点且满足name='userID' 和name='username'
解决方案 »
- 通过AjaxPro.2异步获取处理信息的方法,请指教
- 众里寻他千百度,那人却在……寻找BUG中
- 初学ASP.NET看啥书比较合适
- 如何合并两个没有联系的表到一个表中?
- 无刷新三级联动取不到值的问题?
- 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
- webconfig文件的两个问题
- asp.net+C#
- 我想把3个表里的数据都清空,用程序怎么写啊?
- 电子政务(不同系统平台数据交换)解决方案的问题,欢迎有此相关经验高手指教,一定揭帖
- |M| 第三贴:300分求:网页Repeater布局显示隐藏的问题 补分
- 安装VS2005时出现1402错误:无法打开注册表键
再取遍历nodes ,hulu/user/param[@name='username']
d.Load(Server.MapPath("XMLFile.xml"));
System.Xml.XmlNodeList nodes = d.SelectNodes("/hulu/user[param/@name= 'userID' and param/@name= 'username']");
foreach(System.Xml.XmlNode node in nodes)
{
Response.Write("<li>");
Response.Write(node.ChildNodes[0].Attributes["value"].Value);
Response.Write(node.ChildNodes[1].Attributes["value"].Value);
}
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataColumn column;
System.Data.DataRow row;
column = new System.Data.DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "userid";
dt.Columns.Add(column); // Create second column.
column = new System.Data.DataColumn();
column.DataType = Type.GetType("System.String");
column.ColumnName = "username";
dt.Columns.Add(column); System.Xml.XmlDocument d = new System.Xml.XmlDocument();
d.Load(Server.MapPath("XMLFile.xml"));
System.Xml.XmlNodeList nodes = d.SelectNodes("/hulu/user[param/@name= 'userID' and param/@name= 'username']");
foreach (System.Xml.XmlNode node in nodes)
{
row = dt.NewRow();
row["userid"] = node.ChildNodes[0].Attributes["value"].Value;
row["username"] = node.ChildNodes[1].Attributes["value"].Value;
dt.Rows.Add(row);
} dg.DataSource = dt;
dg.DataBind();
}
</script><html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
</head>
<body>
<form id="MengXianhui" runat="server" enctype="multipart/form-data">
<asp:DataGrid ID="dg" runat="server">
</asp:DataGrid>
</form>
</body>
</html>
麻烦你再看一下吧未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 77: {
行 78: Response.Write("<li>");
行 79: Response.Write(node.ChildNodes[0].Attributes["value"]);
行 80: Response.Write(node.ChildNodes[1].Attributes["value"]);
行 81: }
源文件: c:\inetpub\wwwroot\smsoneself\orgusers.aspx.cs 行: 79
dom.LoadXml(usersxml);
XmlNodeList nodes = dom.SelectNodes("/hulu/user[param/@name= 'userID' | /hulu/userparam/@name= 'username']");
foreach(XmlNode node in nodes)
{
Response.Write("<li>");
Response.Write(node.ChildNodes[0].Attributes["value"].Value);
Response.Write(node.ChildNodes[1].Attributes["value"].Value);
}
我是这么 写的 他报 空值Response.Write(node.Attributes["value"].Value);
这样写的情况下 形成一列 但 userID 和 Username 是夹杂在一起的~~~~ 如何分两列哩?
当然为安全起见,需要先判断的if(node.ChildNodes[0].Attributes["value"] != null)
Response.Write(node.ChildNodes[0].Attributes["value"].Value);
<?xml version="1.0" encoding="UTF-8"?>
<org id="2" name="XXX">
<user>
<param name="real" value="xx"/>
<param name="name" value="小李"/>
<param name="sex" value="男"/>
<param name="mobile" value="10010"/>
</user>
<user>
<param name="real" value="xxx"/>
<param name="name" value="小王"/>
<param name="sex" value="男"/>
<param name="mobile" value="10201"/>
</user>
</org>所以
想要得到 姓名 和 手机 必须得这样
Response.Write(node.ChildNodes[1].Attributes["value"].Value);
Response.Write(node.ChildNodes[3].Attributes["value"].Value);
呵呵 测试过 成功了 吼吼 谢谢 孟大哥...