以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Xml (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55495) |
-- 作者:bagabaga -- 发布时间:2014/8/18 10:15:00 -- Xml 请问,有二个Xml文件,需要用第二个文件的节点替代第一个文件的节点,如何编写?用ReplaceChild只能换同一个文件的节点 Dim doc As New System.XML.XmlDocument() Doc.Load("D:\\桌面\\bb.xml") Dim doc1 As New System.XML.XmlDocument() doc1.Load("D:\\桌面\\aa.xml") Dim root As System.XML.XmlNode = doc.DocumentElement Dim ndlist As System.XML.XmlNodelist = Doc.GetElementsByTagName("title") Dim ndlist1 As System.XML.XmlNodelist = Doc1.GetElementsByTagName("title") \'Replace the title element. root.ReplaceChild(ndlist1(1), ndlist(1)) aa.xml <book genre="novel" ISBN="1-861001-57-5"> <title>Pride And Prejudice</title> <title>aaaa And aaaaaaaaaa</title> </book> bb.xml <book genre="novel" ISBN="1-861001-57-5"> <title>Pride And Prejudice</title> <title>The Handmaid\'s Tale</title> <title>ccccc And ccccccccc</title> </book> |
-- 作者:有点甜 -- 发布时间:2014/8/18 10:20:00 -- 呃,绕一个弯而已,你在第一个文件添加一个节点,再替换。 |
-- 作者:bagabaga -- 发布时间:2014/8/18 10:28:00 -- 第二个节点是软件生成的,下面有2000多个子节点,有什么办法可以直接替换 |
-- 作者:有点甜 -- 发布时间:2014/8/18 10:33:00 -- 简单的方法,你就把xml当成字符串去操作。
1、截取到开始替换的位置和结束替换的位置;
2、把第二个文件的字符串,替换原来的那个字符串;
3、保存文件。 |
-- 作者:有点甜 -- 发布时间:2014/8/18 10:40:00 -- 以下是引用bagabaga在2014-8-18 10:28:00的发言:
第二个节点是软件生成的,下面有2000多个子节点,有什么办法可以直接替换
参考,先加入,然后再替换。
http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.importnode%28v=vs.80%29.aspx
|