.NET 4.x Объединение двух файлов XML по ключам - C#

Узнай цену своей работы

Формулировка задачи:

Есть два файла XML: zap.xml
Листинг программы
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <dataroot>
  3. <ZAP>
  4. <N_ZAP>1</N_ZAP>
  5. <PR_NOV>0</PR_NOV>
  6. <ID_PAC>20266</ID_PAC>
  7. </ZAP>
  8. <ZAP>
  9. <N_ZAP>2</N_ZAP>
  10. <PR_NOV>0</PR_NOV>
  11. <ID_PAC>20348</ID_PAC>
  12. </ZAP>
  13. <ZAP>
  14. <N_ZAP>3</N_ZAP>
  15. <PR_NOV>0</PR_NOV>
  16. <ID_PAC>20562</ID_PAC>
  17. </ZAP>
  18. <ZAP>
  19. <N_ZAP>4</N_ZAP>
  20. <PR_NOV>0</PR_NOV>
  21. <ID_PAC>20797</ID_PAC>
  22. </ZAP>
  23. </dataroot>
и pacient.xml
Листинг программы
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <dataroot>
  3. <PACIENT>
  4. <ID_PAC>20266</ID_PAC>
  5. <VPOLIS>3</VPOLIS>
  6. <SMO_OK>76000</SMO_OK>
  7. <NOVOR>0</NOVOR>
  8. </PACIENT>
  9. <PACIENT>
  10. <ID_PAC>20348</ID_PAC>
  11. <VPOLIS>3</VPOLIS>
  12. <SMO_OK>76000</SMO_OK>
  13. <NOVOR>0</NOVOR>
  14. </PACIENT>
  15. <PACIENT>
  16. <ID_PAC>20562</ID_PAC>
  17. <VPOLIS>3</VPOLIS>
  18. <SMO_OK>76000</SMO_OK>
  19. <NOVOR>0</NOVOR>
  20. </PACIENT>
  21. <PACIENT>
  22. <ID_PAC>20797</ID_PAC>
  23. <VPOLIS>3</VPOLIS>
  24. <SMO_OK>76000</SMO_OK>
  25. <NOVOR>0</NOVOR>
  26. </PACIENT>
  27. </dataroot>
Ключевое поле ID_PAC. Помогите программно объединить эти файлы что бы в результате получить вот такой файл:
Листинг программы
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <dataroot>
  3. <ZAP>
  4. <N_ZAP>1</N_ZAP>
  5. <PR_NOV>0</PR_NOV>
  6. <ID_PAC>20266</ID_PAC>
  7. <PACIENT>
  8. <ID_PAC>20266</ID_PAC>
  9. <VPOLIS>3</VPOLIS>
  10. <SMO_OK>76000</SMO_OK>
  11. <NOVOR>0</NOVOR>
  12. </PACIENT>
  13. </ZAP>
  14. <ZAP>
  15. <N_ZAP>2</N_ZAP>
  16. <PR_NOV>0</PR_NOV>
  17. <ID_PAC>20348</ID_PAC>
  18. <PACIENT>
  19. <ID_PAC>20348</ID_PAC>
  20. <VPOLIS>3</VPOLIS>
  21. <SMO_OK>76000</SMO_OK>
  22. <NOVOR>0</NOVOR>
  23. </PACIENT>
  24. </ZAP>
  25. <ZAP>
  26. <N_ZAP>3</N_ZAP>
  27. <PR_NOV>0</PR_NOV>
  28. <ID_PAC>20562</ID_PAC>
  29. <PACIENT>
  30. <ID_PAC>20562</ID_PAC>
  31. <VPOLIS>3</VPOLIS>
  32. <SMO_OK>76000</SMO_OK>
  33. <NOVOR>0</NOVOR>
  34. </PACIENT>
  35. </ZAP>
  36. <ZAP>
  37. <N_ZAP>4</N_ZAP>
  38. <PR_NOV>0</PR_NOV>
  39. <ID_PAC>20797</ID_PAC>
  40. <PACIENT>
  41. <ID_PAC>20797</ID_PAC>
  42. <VPOLIS>3</VPOLIS>
  43. <SMO_OK>76000</SMO_OK>
  44. <NOVOR>0</NOVOR>
  45. </PACIENT>
  46. </ZAP>
  47. </dataroot>
Большое спасибо всем за помощь...

Решение задачи: «.NET 4.x Объединение двух файлов XML по ключам»

textual
Листинг программы
  1. public class pacient
  2. {
  3.  
  4.     /// <remarks/>
  5.     [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
  6.     [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
  7.     public class dataroot
  8.     {
  9.  
  10.         private datarootPACIENT[] pACIENTField;
  11.  
  12.         /// <remarks/>
  13.         [System.Xml.Serialization.XmlElementAttribute("PACIENT")]
  14.         public datarootPACIENT[] PACIENT
  15.         {
  16.             get
  17.             {
  18.                 return this.pACIENTField;
  19.             }
  20.             set
  21.             {
  22.                 this.pACIENTField = value;
  23.             }
  24.         }
  25.     }
  26.  
  27.     /// <remarks/>
  28.     [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
  29.     public class datarootPACIENT
  30.     {
  31.  
  32.         private ushort iD_PACField;
  33.  
  34.         private byte vPOLISField;
  35.  
  36.         private uint sMO_OKField;
  37.  
  38.         private byte nOVORField;
  39.  
  40.         /// <remarks/>
  41.         public ushort ID_PAC
  42.         {
  43.             get
  44.             {
  45.                 return this.iD_PACField;
  46.             }
  47.             set
  48.             {
  49.                 this.iD_PACField = value;
  50.             }
  51.         }
  52.  
  53.         /// <remarks/>
  54.         public byte VPOLIS
  55.         {
  56.             get
  57.             {
  58.                 return this.vPOLISField;
  59.             }
  60.             set
  61.             {
  62.                 this.vPOLISField = value;
  63.             }
  64.         }
  65.  
  66.         /// <remarks/>
  67.         public uint SMO_OK
  68.         {
  69.             get
  70.             {
  71.                 return this.sMO_OKField;
  72.             }
  73.             set
  74.             {
  75.                 this.sMO_OKField = value;
  76.             }
  77.         }
  78.  
  79.         /// <remarks/>
  80.         public byte NOVOR
  81.         {
  82.             get
  83.             {
  84.                 return this.nOVORField;
  85.             }
  86.             set
  87.             {
  88.                 this.nOVORField = value;
  89.             }
  90.         }
  91.     }
  92.  
  93.  
  94. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы