2016-11-10 3 views
1

Ниже приведены мой образец XML:Группировка конкретных узлов в их родительских узлов в XML

<Response> 
    <Transactions> 
     <Upload> 
      <DocumentID>1</DocumentID> 
      <Name>A</Name> 
      <DocumentID>2</DocumentID> 
      <Name>B</Name> 
     </Upload> 
     <Upload> 
      <DocumentID>3</DocumentID> 
      <Name>C</Name> 
      <DocumentID>4</DocumentID> 
      <Name>D</Name> 
     </Upload> 
     <Upload> 
      <DocumentID>5</DocumentID> 
      <Name>E</Name> 
      <DocumentID>6</DocumentID> 
      <Name>F</Name> 
     </Upload> 
    <Transactions> 
</Response> 

Ниже приведены мой приход выход:

<Total> 
    <DocumentID>1</DocumentId> 
    <DocumentID>2</DocumentId> 
    <DocumentID>3</DocumentId> 
    <DocumentID>4</DocumentId> 
    <DocumentID>5</DocumentId> 
    <DocumentID>6</DocumentId> 
</Total> 

Я использую следующий данный код для получения моего выход:

var downloadfolder = @"C:\Users\KUMARMOHANTA\Desktop\New folder\test.xml"; 

var masterfile = new XDocument(); 
XElement newDocument = new XElement("Total"); 
masterfile.Add(newDocument); 

XDocument xdoc = XDocument.Load(downloadfolder); 

masterfile.Root.Add(xdoc.Descendants("DocumentId")); 
masterfile.Save(@"C:\Users\KUMARMOHANTA\Desktop\merged_.xml"); 

Но мой желаемый результат должен быть что-то вроде этого:

<Total> 
    <Transactions> 
     <Upload> 
      <DocumentID>1</DocumentID> 
      <DocumentID>2</DocumentID> 
     </Upload> 
     <Upload> 
      <DocumentID>3</DocumentID> 
      <DocumentID>4</DocumentID> 
     </Upload> 
     <Upload> 
      <DocumentID>5</DocumentID> 
      <DocumentID>6</DocumentID> 
     </Upload> 
    <Transactions> 
</Total> 

ответ

1

Переименуйте элемент Transactions на Total. Удалить элементы с именем Name. Затем сохраните файл.

Попробуйте это:

var downloadfolder = @"C:\Users\KUMARMOHANTA\Desktop\New folder\test.xml"; 

XDocument xdoc = XDocument.Load(downloadfolder); 
xdoc.Root.Name = "Total"; 
xdoc.Descendants("Upload").Elements("Name").Remove(); 

xdoc.Save(@"C:\Users\KUMARMOHANTA\Desktop\merged_.xml"); 

Обратите внимание, что ваш пример XML не закрывать Transactions элемент.

Смежные вопросы