合并xml文件的问题在线等。。。。需求 就是将两个xml文件 合并 在合并的时候 有重复的数据 值保留一条例如: A.
合并xml文件的问题 在线等。。。。
需求 就是将两个xml文件 合并 在合并的时候 有重复的数据 值保留一条
例如: A.xml 中 1 2 3 4
B.xml 中 2 5 6 7
合并后的C.xml应该是 1 2 3 4 5 6 7
[解决办法]
都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"))
{
string temp= node.//这个取 a.dll
if (!a_b.ContainsKey(temp)) a_b.Add(temp,node);
if (!c.Contains(temp)) c.Add(temp);
}
xml.Load("b.xml");
foreach (XmlNode node in xml.DocumentElement.SelectNodes("UpdateFile"))
{
string temp= node.//这个取 a.dll
if (!a_b.ContainsKey(temp)) a_b.Add(temp,node);
if (!c.Contains(temp)) c.Add(temp);
}
c.sort();
//构造回一个新XML文件
//创建XML文件
foreach(string text in c)
{
a_b[text]//就是你要的 一条数据
}