日期:2014-05-17  浏览次数:20781 次

合并xml文件的问题 在线等。。。。
需求 就是将两个xml文件 合并 在合并的时候 有重复的数据 值保留一条  

例如: A.xml 中 1 2 3 4 

      B.xml 中 2 5 6 7 

合并后的C.xml应该是 1 2 3 4 5 6 7 

------解决方案--------------------
引用:
Quote: 引用:

xml里面会有1234吗?

我只是举个例子  


都4个小裤叉了,能不能把例子弄好一点?
------解决方案--------------------
一定要合并嘛! 可不可以将A数据和B数据取出来 排好序后产生一个新的xml
------解决方案--------------------
问题是如果两个xml的键名不同,而键值相同,你也算他们合并?
------解决方案--------------------
引用:
一定要合并嘛! 可不可以将A数据和B数据取出来 排好序后产生一个新的xml

我也是这么想的...
List<XmlNode> a_b=new List<XmlNode>();
XmlDocument xml = new XmlDocument();
xml.Load("a.xml");
foreach (XmlNode node in xml.DocumentElement.SelectNodes("UpdateFile"))
{
a_b.Add(node);
}
xml.Load("b.xml");
foreach (XmlNode node in xml.DocumentElement.SelectNodes("UpdateFile"))
{
a_b.Add(node);
}
//构造回一个新XML文件
//创建XML文件
foreach(node text in a_b)
{
//添加节点
}
//保存XML文件
------解决方案--------------------
去除重复 哪么简单的事 兄弟你真不会嘛
用字典收集  判断是否包含  好了之后用.sort()排序
再循环读取出来就ok啦
------解决方案--------------------
该回复于2013-07-20 09:36:18被管理员删除

------解决方案--------------------
Dictionary<string,XmlNode> a_b= new Dictionary<string,XmlNode>{};
List<string> c=new List<string>();
XmlDocument xml = new XmlDocument();
xml.Load("a.xml");
foreach (XmlNode node in xml.DocumentElement.SelectNodes("UpdateFile"))