xml操作学习(一)---运用XmlDocument对象操作Xml
来源:互联网 发布:飞利浦空气净化器 知乎 编辑:程序博客网 时间:2024/06/08 06:46
今天学习了有关xml操作的方法,收货不少,下面是代码,其中删除要特别注意(下面已说明)
/// <summary>
/// 添加xml节点
/// </summary>
protected void AddXmlNode()
{
//创建xml文档实例
XmlDocument xmlDoc = new XmlDocument();
//获取网站物理路径
string path = Server.MapPath(".");
//加载对应的xml文档
xmlDoc.Load(path+"//BookStore.xml");
//获取xml文档中的根节点
//XmlNode root = xmlDoc.SelectSingleNode("BookStore");
//和上面的方法的效果一样
XmlElement rootElement = xmlDoc.DocumentElement;
//通过xml文档创建xml节点元素Book
XmlElement xmlEleBook = xmlDoc.CreateElement("Book");
//设置xml节点元素的属性
xmlEleBook.SetAttribute("genre", "李赞红");
xmlEleBook.SetAttribute("ISBN", "2-3631-4");
//通过xml文档创建Book节点元素下的子节点元素Title
XmlElement xmlEleTitle = xmlDoc.CreateElement("Title");
//设置xml节点内的文本
xmlEleTitle.InnerText = "CS从入门到精通";
//将Title节点元素添加到Book节点元素下
xmlEleBook.AppendChild(xmlEleTitle);
//通过xml文档创建Book节点元素下的子节点元素Author
XmlElement xmlEleAuthor = xmlDoc.CreateElement("Author");
//设置xml节点内的文本
xmlEleAuthor.InnerText = "侯捷";
//将Author节点元素添加到Book节点元素下
xmlEleBook.AppendChild(xmlEleAuthor);
//通过xml文档创建Book节点元素下的子节点元素Price
XmlElement xmlElePrice = xmlDoc.CreateElement("Price");
//设置xml节点内的文本
xmlElePrice.InnerText = "58.3";
//将Price节点添加到Book节点元素下
xmlEleBook.AppendChild(xmlElePrice);
//将Book节点添加到根节点下
//root.AppendChild(xmlEleBook);
rootElement.AppendChild(xmlEleBook);
//保存xml文档
xmlDoc.Save(path+"//BookStore.xml");
}
/// <summary>
/// 更新xml节点
/// </summary>
protected void UpdateXmlNode()
{
//创建xml文档实例
XmlDocument xmlDoc = new XmlDocument();
//获取网站物理路径
string path=Server.MapPath(".");
//加载相对应的xml文档
xmlDoc.Load(path + "//BookStore.xml");
//获取根节点
XmlNode rootElement = xmlDoc.DocumentElement;
//获取根节点下面的所有子节点
XmlNodeList xmlNodeList = rootElement.ChildNodes;
//循环遍历节点
foreach (XmlNode node in xmlNodeList)
{
XmlElement xmlEle = (XmlElement)node;
if (xmlEle.GetAttribute("genre") == "李赞红")
{
xmlEle.SetAttribute("genre", "zhou");
}
}
//保存更改
xmlDoc.Save(path + "//BookStore.xml");
}
protected void DelXmlNode()
{
//实例xml文档
XmlDocument xmlDoc = new XmlDocument();
//获取网站物理路径
string path=Server.MapPath(".");
//加载对应的xml文档
xmlDoc.Load(path + "//BookStore.xml");
//获取根节点
XmlElement rootElement = xmlDoc.DocumentElement;
//获取根节点下的所有子节点
XmlNodeList nodeList = rootElement.ChildNodes;
#region 下面的两种方法删除节点会有问题,因为删除的同时集合数量变小,所以就不能删除相应的节点,后面的方法删除
//遍历子节点
//foreach (XmlNode node in nodeList)
//{
// XmlElement xmlEle = (XmlElement)node;
// if (xmlEle.GetAttribute("genre") == "zhou")
// {
// //删除子节点
// rootElement.RemoveChild(node);
// }
//}
//for (int i = 0; i < nodeList.Count; i++)
//{
// XmlElement xmlEle = (XmlElement)nodeList[i];
// if (xmlEle.GetAttribute("genre") == "zhou")
// {
// //删除子节点
// rootElement.RemoveChild(nodeList[i]);
// }
//}
#endregion
#region 删除节点的正确方法
//声明集合来保存要删除的子节点
List<XmlNode> delNodes = new List<XmlNode>();
//遍历子节点
foreach (XmlNode node in nodeList)
{
XmlElement xmlEle = (XmlElement)node;
if (xmlEle.GetAttribute("genre") == "zhou")
{
//删除子节点
delNodes.Add(node);
}
}
//删除子节点
foreach (XmlNode node in delNodes)
{
rootElement.RemoveChild(node);
}
#endregion
//保存更改
xmlDoc.Save(path + "//BookStore.xml");
}
- xml操作学习(一)---运用XmlDocument对象操作Xml
- XmlDocument 操作xml文档
- XmlDocument 操作xml文档
- XmlDocument 操作xml文档
- XMLDocument操作XML
- XMLDocument操作XML摘选
- XmlDocument操作xml文档
- XmlDocument操作xml文档
- xmlDocument来操作xml文档
- C#通过XmlDocument操作Xml文档
- xml学习(二)---运用XmlTextWriter及XmlTextReader操作Xml
- C#操作Xml:通过XmlDocument读写Xml文档
- C#操作Xml:通过XmlDocument读写Xml文档
- C#操作Xml:通过XmlDocument读写Xml文档
- C#操作Xml:通过XmlDocument读写Xml文档
- C#操作Xml:通过XmlDocument读写Xml文档
- C#操作XML的完整例子——XmlDocument篇
- C#操作Xml的两种方式 XPath XmlDocument XmlNodeList
- BoradCastReceiver启动Activity
- 打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹 550 No such file or directory
- [Bindable]元数据标签举例
- 三维虚拟校园
- 趣味智力题
- xml操作学习(一)---运用XmlDocument对象操作Xml
- StringTemplate.Net 学习笔记(4):表达式元素语法(下)
- Wayland是什么
- 具备基本的编程功底能够有大体的轮廓知识
- wedding ceremony may
- DWR框架笔记
- Delphi磁性窗口
- WINCE基于AT050TN22屏的时序描述
- StringTemplate.Net 学习笔记(5):条件声明