这样一个XML文件,怎么样最简单的能读进DropDownList中?

dp_555 2005-07-07 08:48:48
<?xml version="1.0" encoding="utf-8"?>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>

现在要把其中list name = contractkind的部分读取到DropDownList中,有什么办法简单啊?
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MyLf 2005-07-07
  • 打赏
  • 举报
回复
yun
楼上怎么贴代码的啊?
silverseven7 2005-07-07
  • 打赏
  • 举报
回复
aspx
================
<%@ Import NameSpace="System.Xml"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
{

if (!Page.IsPostBack) {
XmlDocument doc=new XmlDocument();
doc.Load(Server.MapPath("Persons.xml"));
XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
for(int i = 0 ;i<nodes.Count;i++)
{
ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
DataList1.Items.Add(lItem);
}
}


}
</script>
<HTML>
<HEAD>
<title>my first asp.net</title>
</HEAD>
<body>
<form runat=server>
<asp:DropDownList id="DataList1" runat="server"/>
</form>
</body>
</HTML>


Persons.xml,注意保存为utf-8格式
==============
<?xml version="1.0" encoding="utf-8"?>
<lists>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
</lists>
aspx
================
<%@ Import NameSpace="System.Xml"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
{

if (!Page.IsPostBack) {
XmlDocument doc=new XmlDocument();
doc.Load(Server.MapPath("Persons.xml"));
XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
for(int i = 0 ;i<nodes.Count;i++)
{
ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
DataList1.Items.Add(lItem);
}
}


}
</script>
<HTML>
<HEAD>
<title>my first asp.net</title>
</HEAD>
<body>
<form runat=server>
<asp:DropDownList id="DataList1" runat="server"/>
</form>
</body>
</HTML>


Persons.xml,注意保存为utf-8格式
==============
<?xml version="1.0" encoding="utf-8"?>
<lists>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
</lists>
aspx
================
<%@ Import NameSpace="System.Xml"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
{

if (!Page.IsPostBack) {
XmlDocument doc=new XmlDocument();
doc.Load(Server.MapPath("Persons.xml"));
XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
for(int i = 0 ;i<nodes.Count;i++)
{
ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
DataList1.Items.Add(lItem);
}
}


}
</script>
<HTML>
<HEAD>
<title>my first asp.net</title>
</HEAD>
<body>
<form runat=server>
<asp:DropDownList id="DataList1" runat="server"/>
</form>
</body>
</HTML>


Persons.xml,注意保存为utf-8格式
==============
<?xml version="1.0" encoding="utf-8"?>
<lists>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
</lists>
aspx
================
<%@ Import NameSpace="System.Xml"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
{

if (!Page.IsPostBack) {
XmlDocument doc=new XmlDocument();
doc.Load(Server.MapPath("Persons.xml"));
XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
for(int i = 0 ;i<nodes.Count;i++)
{
ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
DataList1.Items.Add(lItem);
}
}


}
</script>
<HTML>
<HEAD>
<title>my first asp.net</title>
</HEAD>
<body>
<form runat=server>
<asp:DropDownList id="DataList1" runat="server"/>
</form>
</body>
</HTML>


Persons.xml,注意保存为utf-8格式
==============
<?xml version="1.0" encoding="utf-8"?>
<lists>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
</lists>
aspx
================
<%@ Import NameSpace="System.Xml"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
{

if (!Page.IsPostBack) {
XmlDocument doc=new XmlDocument();
doc.Load(Server.MapPath("Persons.xml"));
XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
for(int i = 0 ;i<nodes.Count;i++)
{
ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
DataList1.Items.Add(lItem);
}
}


}
</script>
<HTML>
<HEAD>
<title>my first asp.net</title>
</HEAD>
<body>
<form runat=server>
<asp:DropDownList id="DataList1" runat="server"/>
</form>
</body>
</HTML>


Persons.xml,注意保存为utf-8格式
==============
<?xml version="1.0" encoding="utf-8"?>
<lists>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
</lists>
dp_555 2005-07-07
  • 打赏
  • 举报
回复
搞定了,根节点只是忘记写了。我是这样做的
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("xmlfile");

XmlNodeList xnl=xmlDoc.SelectSingleNode("root").ChildNodes;

foreach(XmlNode xn in xnl)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型

if(xe.GetAttribute("name")=="contractkind") //判断节点名称
{
XmlNodeList nls=xe.ChildNodes;//继续获取节点的所有子节点
foreach(XmlNode xn2 in nls)
{
XmlElement xe2=(XmlElement)xn2;
ddl.Items.Add(new ListItem(xe2.GetAttribute("name"),xe2.GetAttribute("code")));
}
}
}
marvelstack 2005-07-07
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8"?>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
这个不是xml文件,没有根节点,如果按xml来处理必定出错。你检查一下。

修改后,使用DataSet.ReadXml加载到DataSet,再绑定数据最快。
孟子E章 2005-07-07
  • 打赏
  • 举报
回复
aspx
================
<%@ Import NameSpace="System.Xml"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
{

if (!Page.IsPostBack) {
XmlDocument doc=new XmlDocument();
doc.Load(Server.MapPath("Persons.xml"));
XmlNodeList nodes = doc.SelectNodes("//list[@name='contractkind']/attribute");
for(int i = 0 ;i<nodes.Count;i++)
{
ListItem lItem = new ListItem(nodes[i].Attributes["name"].Value,nodes[i].Attributes["code"].Value);
DataList1.Items.Add(lItem);
}
}


}
</script>
<HTML>
<HEAD>
<title>my first asp.net</title>
</HEAD>
<body>
<form runat=server>
<asp:DropDownList id="DataList1" runat="server"/>
</form>
</body>
</HTML>


Persons.xml,注意保存为utf-8格式
==============
<?xml version="1.0" encoding="utf-8"?>
<lists>
<list name="contractkind">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
<list name="contractkind2">
<attribute code = "1" name="类型一"/>
<attribute code = "2" name="类型二"/>
<attribute code = "3" name="类型三"/>
<attribute code = "4" name="类型四"/>
<attribute code = "5" name="类型五"/>
</list>
</lists>
dp_555 2005-07-07
  • 打赏
  • 举报
回复
不是吧,这两个办法都不行啊
fphuang 2005-07-07
  • 打赏
  • 举报
回复
var oDoc = new ActiveXObject("MSXML2.DOMDocument");
oDoc.loadXML(*.xml);
items1 = oDoc.selectNodes("//节点1/Table/a");
items2 = oDoc.selectNodes("//节点2/Table/b");

var itemsLength=items1.length;

for(i=0;i<itemsLength;i++)
{
var newOption = document.createElement("OPTION");
newOption.text=items1[i].text;
newOption.value=items2[i].text;
drp.options.add(newOption);
}
孟子E章 2005-07-07
  • 打赏
  • 举报
回复
可以参考
http://www.c-sharpcorner.com/Code/2004/Nov/PopulateDropDownInsideDatagrid.asp
也可以用 XmlTextReader,

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧