Foxtable(狐表)用户栏目专家坐堂 → Xml


  共有2062人关注过本帖树形打印复制链接

主题:Xml

帅哥哟,离线,有人找我吗?
bagabaga
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:138 积分:1325 威望:0 精华:0 注册:2014/3/10 19:43:00
Xml  发帖心情 Post By:2014/8/18 10:15:00 [只看该作者]

请问,有二个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>

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 10:20:00 [只看该作者]

 呃,绕一个弯而已,你在第一个文件添加一个节点,再替换。

 回到顶部
帅哥哟,离线,有人找我吗?
bagabaga
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:138 积分:1325 威望:0 精华:0 注册:2014/3/10 19:43:00
  发帖心情 Post By:2014/8/18 10:28:00 [只看该作者]

第二个节点是软件生成的,下面有2000多个子节点,有什么办法可以直接替换

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 10:33:00 [只看该作者]

 简单的方法,你就把xml当成字符串去操作。

 

 1、截取到开始替换的位置和结束替换的位置;

 

 2、把第二个文件的字符串,替换原来的那个字符串;

 

 3、保存文件。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 

 


 回到顶部