C#面试题

当前位置: 面试问题网 > C#面试题 > 编程实现去掉XML的重复结点

编程实现去掉XML的重复结点

写出一个函数来实现去掉任意一个给定的XML文档的重复结点,以给定的”key”重复作为结点重复的标准,如下例:
  
  
  
   Milk
   4
  
  
   Milk
   0.5
  
  
   Coffe
   0.5
  
  
  
   当以Name字段作为key时,第一个和第二个结点是重复的,当Amount作为key时,则第二个和第三个结点是重复结点。
   所以函数应该是这样格式的:
   string DeDup(string xml, string keyNode, string rootPath)
  
   参考解决方案:
  
   private static string RemoveDuplicates(string xml, string key, string rootXPath)
   {
   XmlDocument doc = new XmlDocument();
   List sb = new List();
   string keyValue;
   try
   {
   doc.Load(xml);
   XmlElement root = doc.DocumentElement;
   XmlNodeList xnodelist = root.SelectNodes(rootXPath);
   int i=0;
   foreach (XmlNode item in xnodelist)
   {
   Console.WriteLine(i + "");
   i++;
   keyValue = item.SelectSingleNode(key).InnerXml;
   if (sb.Contains(keyValue))
   xnode.RemoveChild(item);
   else
   sb.Add(keyValue);
   }
   return doc.OuterXml;
   }
   catch (Exception ex)
   {
   // Log exception...
   throw ex;
   }
   }
   这个方案只适合于小的xml文档,大的话应考虑应用SAX等解决方案来进行parse.

【编程实现去掉XML的重复结点】相关文章

1. 编程实现去掉XML的重复结点

2. XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

3. 编程用JAVA解析XML的方式

4. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用

5. 怎么处理XML的中文问题

6. 编程实现当输入某产品代码则打印出该产品记录的功能

7. 请写出一段Python代码实现删除一个list里面的重复元素

8. 你在项目中用到了xml技术的哪些方面?如何实现的?

9. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

10. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?

本文来源:https://www.mianshiwenti.com/a12976.html

点击展开全部

《编程实现去掉XML的重复结点》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝编程实现去掉XML的重复结点﹞相关内容

「编程实现去掉XML的重复结点」相关专题

其它栏目

也许您还喜欢