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 attributes
newBook.SetAttribute("genre", "Mystery"); newBook.SetAttribute("publicationdate", "2001"); newBook.SetAttribute("ISBN", "123456789");
//create a new 'title' element
XmlElement newTitle = _doc.CreateElement("title"); newTitle.InnerText = "Case of the Missing Cookie"; newBook.AppendChild(newTitle);
//create new author element
XmlElement 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 对象操作详细步骤的详细内容,更多请关注php中文网其它相关文章!
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
程序员必备接口测试调试工具:点击使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
网页生成APP,用做网站的技术去做APP:立即创建
手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包
相关文章
相关视频