1、从结构上讲.XmlElement是XmlNode 派生类. 所以两者比较没什么意义.XmlNode 为抽像类, 不能直接实例化.已知有一个xml文件(bookstore.xml)如下:Oberons LegacyCorets, Eva5.951、往节点中插入一个节点:XmlDocument xmlDoc=new XmlDocument();xmlDoc.Load(bookstore.xml);XmlNode root=xmlDoc.SelectSingleNode(bookstore);/查找XmlElement xe1=xmlDoc.CreateElement(book);/创建一个节点xe
2、1.SetAttribute(genre,李赞红);/设置该节点genre属性xe1.SetAttribute(ISBN,2-3631-4);/设置该节点ISBN属性XmlElement xesub1=xmlDoc.CreateElement(title);xesub1.InnerText=CS从入门到精通;/设置文本节点xe1.AppendChild(xesub1);/添加到节点中XmlElement xesub2=xmlDoc.CreateElement(author);xesub2.InnerText=候捷;xe1.AppendChild(xesub2);XmlElement xesub
3、3=xmlDoc.CreateElement(price);xesub3.InnerText=58.3;xe1.AppendChild(xesub3);root.AppendChild(xe1);/添加到节点中xmlDoc.Save(bookstore.xml);/=结果为:Oberons LegacyCorets, Eva5.95CS从入门到精通候捷58.32、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点的文本修改为“亚胜”。XmlNodeList nodeList=xmlDoc.SelectSingleNode(bookstore
4、).ChildNodes;/获取bookstore节点的所有子节点foreach(XmlNode xn in nodeList)/遍历所有子节点XmlElement xe=(XmlElement)xn;/将子节点类型转换为XmlElement类型if(xe.GetAttribute(genre)=李赞红)/如果genre属性值为“李赞红”xe.SetAttribute(genre,update李赞红);/则修改该属性为“update李赞红”XmlNodeList nls=xe.ChildNodes;/继续获取xe子节点的所有子节点foreach(XmlNode xn1 in nls)/遍历Xm
5、lElement xe2=(XmlElement)xn1;/转换类型if(xe2.Name=author)/如果找到xe2.InnerText=亚胜;/则修改break;/找到退出来就可以了break;xmlDoc.Save(bookstore.xml);/保存。/=最后结果为:Oberons LegacyCorets, Eva5.95CS从入门到精通亚胜58.33、删除 节点的genre属性,删除 节点。XmlNodeList xnl=xmlDoc.SelectSingleNode(bookstore).ChildNodes;foreach(XmlNode xn in xnl)XmlElem
6、ent xe=(XmlElement)xn;if(xe.GetAttribute(genre)=fantasy)xe.RemoveAttribute(genre);/删除genre属性else if(xe.GetAttribute(genre)=update李赞红)xe.RemoveAll();/删除该节点的全部内容xmlDoc.Save(bookstore.xml);/=最后结果为:Oberons LegacyCorets, Eva5.954、显示所有数据。XmlNode xn=xmlDoc.SelectSingleNode(bookstore);XmlNodeList xnl=xn.Chi
7、ldNodes;foreach(XmlNode xnf in xnl)XmlElement xe=(XmlElement)xnf;Console.WriteLine(xe.GetAttribute(genre);/显示属性值Console.WriteLine(xe.GetAttribute(ISBN);XmlNodeList xnf1=xe.ChildNodes;foreach(XmlNode xn2 in xnf1)Console.WriteLine(xn2.InnerText);/显示子节点点文本1.已知有一个xml文件(bookstore.xml)如下: Oberons Legacy C
8、orets, Eva 5.95 1、往节点中插入一个节点: XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(bookstore.xml); XmlNode root=xmlDoc.SelectSingleNode(bookstore);/查找 XmlElement xe1=xmlDoc.CreateElement(book);/创建一个节点 xe1.SetAttribute(genre,李赞红);/设置该节点genre属性 xe1.SetAttribute(ISBN,2-3631-4);/设置该节点ISBN属性 XmlElement xesu
9、b1=xmlDoc.CreateElement(title); xesub1.InnerText=CS从入门到精通;/设置文本节点 xe1.AppendChild(xesub1);/添加到节点中 XmlElement xesub2=xmlDoc.CreateElement(author); xesub2.InnerText=候捷; xe1.AppendChild(xesub2); XmlElement xesub3=xmlDoc.CreateElement(price); xesub3.InnerText=58.3; xe1.AppendChild(xesub3); root.AppendCh
10、ild(xe1);/添加到节点中 xmlDoc.Save(bookstore.xml); /= 结果为: Oberons Legacy Corets, Eva 5.95 CS从入门到精通 候捷 58.3 2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点的文本修改为“亚胜”。 XmlNodeList nodeList=xmlDoc.SelectSingleNode(bookstore).ChildNodes;/获取bookstore节点的所有子节点 foreach(XmlNode xn in nodeList)/遍历所有子节点 XmlE
11、lement xe=(XmlElement)xn;/将子节点类型转换为XmlElement类型 if(xe.GetAttribute(genre)=李赞红)/如果genre属性值为“李赞红” xe.SetAttribute(genre,update李赞红);/则修改该属性为“update李赞红” XmlNodeList nls=xe.ChildNodes;/继续获取xe子节点的所有子节点 foreach(XmlNode xn1 in nls)/遍历 XmlElement xe2=(XmlElement)xn1;/转换类型 if(xe2.Name=author)/如果找到 xe2.InnerTe
12、xt=亚胜;/则修改 break;/找到退出来就可以了 break; xmlDoc.Save(bookstore.xml);/保存。 /= 最后结果为: Oberons Legacy Corets, Eva 5.95 CS从入门到精通 亚胜 58.3 3、删除 节点的genre属性,删除 节点。XmlNodeList xnl=xmlDoc.SelectSingleNode(bookstore).ChildNodes; foreach(XmlNode xn in xnl) XmlElement xe=(XmlElement)xn; if(xe.GetAttribute(genre)=fantas
13、y) xe.RemoveAttribute(genre);/删除genre属性 else if(xe.GetAttribute(genre)=update李赞红) xe.RemoveAll();/删除该节点的全部内容 xmlDoc.Save(bookstore.xml); /= 最后结果为: Oberons Legacy Corets, Eva 5.95 4、显示所有数据。 XmlNode xn=xmlDoc.SelectSingleNode(bookstore); XmlNodeList xnl=xn.ChildNodes; foreach(XmlNode xnf in xnl) XmlEl
14、ement xe=(XmlElement)xnf; Console.WriteLine(xe.GetAttribute(genre);/显示属性值 Console.WriteLine(xe.GetAttribute(ISBN); XmlNodeList xnf1=xe.ChildNodes; foreach(XmlNode xn2 in xnf1) Console.WriteLine(xn2.InnerText);/显示子节点点文本 1. privatevoidbtnLoad_Click(objectsender,EventArgse)2. 3. XmlDocumentxmlDoc=newXm
15、lDocument();4. xmlDoc.Load(Books.xml);5. MessageBox.Show(xmlDoc.InnerXml);6. 7. 8. privatevoidbtnCreate_Click(objectsender,EventArgse)9. 10. /xml文档11. XmlDocumentxmlDoc=newXmlDocument();12. XmlDeclarationdec=xmlDoc.CreateXmlDeclaration(1.0,utf-8,null);13. xmlDoc.AppendChild(dec);14. 15. /创建根节点16. Xm
16、lElementroot=xmlDoc.CreateElement(Books);17. xmlDoc.AppendChild(root);18. 19. /节点及元素20. XmlNodebook=xmlDoc.CreateElement(Book);21. XmlElementtitle=GetXmlElement(xmlDoc,Title,WindowForm);22. XmlElementisbn=GetXmlElement(xmlDoc,ISBN,111111);23. XmlElementauthor=GetXmlElement(xmlDoc,Author,amandag);24.
17、 XmlElementprice=GetXmlElement(xmlDoc,Price,128.00);25. price.SetAttribute(Unit,¥);26. 27. book.AppendChild(title);28. book.AppendChild(isbn);29. book.AppendChild(author);30. book.AppendChild(price);31. root.AppendChild(book);32. 33. xmlDoc.Save(Books.xml);34. MessageBox.Show(数据已写入!);35. 36. 37. pri
18、vatevoidbtnInsert_Click(objectsender,EventArgse)38. 39. XmlDocumentxmlDoc=newXmlDocument();40. xmlDoc.Load(Books.xml);41. 42. XmlNoderoot=xmlDoc.SelectSingleNode(Books);43. 44. XmlElementbook=xmlDoc.CreateElement(Book);45. XmlElementtitle=GetXmlElement(xmlDoc,Title,ASP.NET);46. XmlElementisbn=GetXml
19、Element(xmlDoc,ISBN,222222);47. XmlElementauthor=GetXmlElement(xmlDoc,Author,moon);48. XmlElementprice=GetXmlElement(xmlDoc,Price,111.00);49. price.SetAttribute(Unit,1quot;);50. 51. book.AppendChild(title);52. book.AppendChild(isbn);53. book.AppendChild(author);54. book.AppendChild(price);55. root.AppendChild(book);56. 57. xmlDoc.Save(Books.xml);58. MessageBox.Show(数据已插入!);59. 60. 61. privatevoidbtnUpdate_Click(objectsender,EventArgse)62.
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2