XmlDocument对象操作的示例分析
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍XmlDocument对象操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用XmlReader遍历文档是很方便的,使用XmlWriter生成一个新
千家信息网最后更新 2026年11月03日XmlDocument对象操作的示例分析
这篇文章主要介绍XmlDocument对象操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
使用XmlReader遍历文档是很方便的,使用XmlWriter生成一个新的XML文档也很容易.但是对现有的XML进行修改,例如添加一个元素或修改一个属性值,就比较麻烦了.此时,可以使用XmlDocument对象,通过调用DOM方法对文档进行修改,然后再保存.由于DOM已经进行了标准化,很多语言都对他进行了支持,比如JS,因此这里的很多方法与JS中都是一致的,比如GetElementByID(),GetElementByTagName(),AppendChild(),InsertAfter()等.
1、创建一个xml文件
XmlDocument doc = new XmlDocument();XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);doc.AppendChild(dec); XmlElement root = doc.CreateElement("bookstore");//创建根节点doc.AppendChild(root); XmlElement newBook = _doc.CreateElement("book");//create a new 'book' element//set some attributesnewBook.SetAttribute("genre", "Mystery"); newBook.SetAttribute("publicationdate", "2001"); newBook.SetAttribute("ISBN", "123456789");//create a new 'title' elementXmlElement newTitle = _doc.CreateElement("title"); newTitle.InnerText = "Case of the Missing Cookie"; newBook.AppendChild(newTitle); //create new author elementXmlElement newAuthor = _doc.CreateElement("author"); newBook.AppendChild(newAuthor);//create new name element XmlElement newName = _doc.CreateElement("name"); newName.InnerText = "Cookie Monster"; newAuthor.AppendChild(newName); //create new price element XmlElement newPrice = _doc.CreateElement("price"); newPrice.InnerText = "9.95"; newBook.AppendChild(newPrice); //add to the current documentdoc.DocumentElement.AppendChild(newBook);//_doc.DocumentElement为获取xml的根doc.Save("bb.xml");将 XML 文档保存到指定的位置2、插入节点 与创建xml 文件类似
_doc.Load("books.xml"); XmlElement newBook = _doc.CreateElement("book"); newBook.SetAttribute("genre", "Mystery"); newBook.SetAttribute("publicationdate", "2001"); newBook.SetAttribute("ISBN", "123456789"); XmlElement newTitle = _doc.CreateElement("title"); newTitle.InnerText = "Case of the Missing Cookie"; newBook.AppendChild(newTitle); XmlElement newAuthor = _doc.CreateElement("author"); newBook.AppendChild(newAuthor); XmlElement newName = _doc.CreateElement("name"); newName.InnerText = "Cookie Monster"; newAuthor.AppendChild(newName); XmlElement newPrice = _doc.CreateElement("price"); newPrice.InnerText = "9.95"; newBook.AppendChild(newPrice); _doc.DocumentElement.AppendChild(newBook);_doc.Save("booksEdit.xml");或者下面这样保存 XmlTextWriter tr = new XmlTextWriter("booksEdit.xml", null);//将xml文档保存,如果存在此文件,则覆盖 tr.Formatting = Formatting.Indented; _doc.WriteContentTo(tr);tr.Close();3、修改xml节点
将genre属性值为"novel"的节点的genre值改为"updatenovel",将该节点的子节点的文本修改为"啦啦啦啦"。
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点 foreach(XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 if(xe.GetAttribute("genre")=="novel")//如果genre属性值为"李赞红" { xe.SetAttribute("genre","updatenovel");//则修改该属性为"update李赞红" XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 foreach(XmlNode xn1 in nls)//遍历 { XmlElement xe2=(XmlElement)xn1;//转换类型 if(xe2.Name=="title")//如果找到 { xe2.InnerText="亚胜";//则修改 break;//找到退出来就可以了 } } break; } } xmlDoc.Save("bookstore.xml");//保存。4、删除节点
节点的genre属性,删除 节点。
XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes; foreach(XmlNode xn in xnl) { XmlElement xe=(XmlElement)xn; if(xe.GetAttribute("genre")=="fantasy") { xe.RemoveAttribute("genre");//删除genre属性 } else if(xe.GetAttribute("genre")=="update李赞红") { xe.RemoveAll();//删除该节点的全部内容 } } xmlDoc.Save("bookstore.xml");5、遍历xml
string filePath = "bookstore.xml"; XmlDocument doc = new XmlDocument(); doc.Load(filePath); XmlNode root = doc.DocumentElement; showNode(root); private static void showNode(XmlNode root) { if (root.NodeType==XmlNodeType.Text) { Console.WriteLine(root.Value); } if (root.NodeType==XmlNodeType.Element) { Console.WriteLine(root.Name); } if (root.Attributes!=null&&root.Attributes.Count>0) { foreach (XmlAttribute attr in root.Attributes) { Console.Write("{0}={1} ",attr.Name,attr.Value); } Console.WriteLine(); } XmlNodeList chiledList = root.ChildNodes; foreach (XmlNode child in chiledList) { showNode(child); } }
以上是"XmlDocument对象操作的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
节点
属性
文档
对象
内容
文件
类型
示例
分析
方法
篇文章
一致
价值
位置
元素
兴趣
小伙
小伙伴
文本
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
花魁咖啡
互联网与科技
互联网科技海报
华服互联网科技怎么样
中国互联网科技工作委员会毛军
今日互联网科技
互联网科技金融公司
合肥互联网科技公司
中国互联网科技发展
亿人帮互联网科技
天扬科技互联网广告
山东吉时兔互联网科技有限公司
阿大互联网科技有限公司
成都互联网科技公司工作好不好
高科技互联网发展前景如何
科技大学互联网
工业互联网山东科技大学
山东有哪些互联网科技公司
四川互联网展示科技馆设计
科技互联网行业投资研究
广州紫鲸互联网科技有限公司
北京路客互联网科技有限公司
互联网最新的科技
金诺互联网科技
互联网科技咨询
上海创道互联网络科技有限公司
互联网科技手机排行榜
杭州科技互联网公司有哪些
北京瑞云互联网科技有限公司
高科技和互联网的现代国家