Как добавить набор узлов xml в существующий файл, используя c # - PullRequest
1 голос
/ 05 июня 2019

Ниже приведен мой XML,

<MultiCentreDeals>
    <DealItem>
      <ID>24</ID>
      <Days>
         <Day>
          <DayID>24-1</DayID>
          <DayTitle>Day 13</DayTitle>
      </Day>
      <Day>
          <DayID>24-2</DayID>
          <DayTitle>Day 2</DayTitle>
      </Day>
     </Days>
   </DealItem>
   <DealItem>
      <ID>25</ID>
      <Days>
         <Day>
          <DayID>25-1</DayID>
          <DayTitle>Day 3</DayTitle>
      </Day>
      <Day>
          <DayID>25-2</DayID>
          <DayTitle>Day 4</DayTitle>
      </Day>
     </Days>
   </DealItem>
</MultiCentreDeals>

Сначала я хочу выбрать данные в соответствии с идентификатором (25) и добавить к нему набор.Я пробовал много способов и ничего не получалось, может кто-нибудь сказать, пожалуйста, как это сделать?Ниже я попытался выбрать конкретные данные, принадлежащие идентификатору (25), но не уверен, что он правильный или нет.

  XDocument doc = XDocument.Load(Server.MapPath("/Xml/MultiCentreDealDetails.xml"));
  Dictionary<string, XElement> CompleteDealSet = doc.Descendants("DealItem").GroupBy(x => (string)x.Element("ID"), y => y).ToDictionary(x => x.Key, y => y.FirstOrDefault());
  XElement Selected_Deal = CompleteDealSet[mc_ID];

  Dictionary<string, XElement> ItinerarySet = Selected_Deal.Descendants("Day").GroupBy(x => (string)x.Element("DayID"), y => y).ToDictionary(x => x.Key, y => y.FirstOrDefault());

1 Ответ

1 голос
/ 05 июня 2019

Это сработало для меня,

   XElement saveData = Selected_Deal.Element("Days");
   saveData.Add(new XElement("Day",
   new XElement("DayID", newDayID),
   new XElement("DayTitle", multicentreDay)));
   doc.Save(Server.MapPath("/Xml/MultiCentreDealDetails.xml"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...