您的位置:首页 > 编程语言 > ASP

asp.net操作xml数据常用方法小结

2007-06-08 13:37 666 查看
1得到关于某元素下的所有值
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
XmlNodeList xnl = doc.GetElementsByTagName("Name");//得到关于是name元素下的所有值
xnl是一个数组,如果帮顶到数据控件上,用xnl[i].InnerXml.
2查询任意节点的值(selectsiglenode方法)
XmlDocument doc = new XmlDocument();
doc.SelectSingleNode("//User[Name='"+this.ddlName.SelectedItem.Text+"']").ChildNodes.Item(i).InnerText;
3选择一个节点
XmlNode xNode = doc.SelectSingleNode("dbGuest");
再把这句话变一下效果则为选择一个数组
XmlNodeList xnl = doc.SelectSingleNode("dbGuest").ChildNodes;
4创建一个元素,并在其下面添加一个元素,赋值
XmlElement xe1 =doc.CreateElement("User");
XmlElement sub1 = doc.CreateElement("Name");
sub1.InnerText = "junyistar";
xe1.AppendChild(sub1);
5编历指定一个节点下的所有子节点,并找出子节点下的固定的值(相当于表套表)
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath(".\\db\\dbGuest.xml"));
XmlNodeList nodeList=xmlDoc.SelectSingleNode("dbGuest").ChildNodes;//获取dbGuest节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型

XmlNodeList node = xe.GetElementsByTagName("Name");
if(node.Count>0)
{

if(node[0].InnerText==ddlName.SelectedItem.Text)
{
XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XmlNode xn1 in nls)//遍历
{
XmlElement xe2=(XmlElement)xn1;//转换类型
if(xe2.Name=="Email")//如果找到
{
xe2.InnerText=tbNewMail.Text;//则修改
break;//找到退出来就可以了
}
}
break;
}
}
6前面所有方法最后别忘用doc.save()
xmlDoc.Save(Server.MapPath(".\\db\\dbGuest.xml"));
个人感觉用xmldocument操纵xml还是比较烦琐,可能的话还是吧xml读到dataset中,
应为xml其实就是一个数据表,读取特定数据时只需用ds.tables["tableName"].Rows[i][j]即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: