Как объединить XML-узлы в одном XML-документе с помощью C # 2.0 - PullRequest
0 голосов
/ 21 декабря 2011

У меня в списке ниже список xmls, все xml генерируются, пока есть цикл.

 <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-5-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-34086-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-11-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-13896-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-16913-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-29396-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-29397-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-19-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-360-2" Managed="10682" /> 
  <?xml version="1.0" ?> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-29451-2" Managed="10682" />

Как вы можете видеть, существует множество xml с одинаковым внутренним типом узла. Теперь я хочу объединить все эти данные в один xml после завершения всех циклов, так что мой вывод будет примерно таким:

 <?xml version="1.0" ?> 
 <root>
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-5-2" Managed="10682" /> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-34086-2" Managed="10682" /> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-11-2" Managed="10682" />   
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-13896-2" Managed="10682" /> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-16913-2" Managed="10682" />  
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-29396-2" Managed="10682" /> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-29397-2" Managed="10682" /> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-19-2" Managed="10682" /> 
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-360-2" Managed="10682" />  
  <tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:229-29451-2" Managed="10682" />
  </root>

C # Код:

foreach (XmlNode nav in xnl)
{
    Folder folder1 = objTom.GetFolder(nav.Attributes["ID"].Value, publication);
    XmlDocument _xdocChild = new XmlDocument();

    string _data=folder1.GetListItems(ListColumnFilter.XMLListExtended, rowFilter1).ToString();
    _xdocChild.LoadXml(_data.Replace("<?xml version=\"1.0\"?>",""));
    sb.AppendLine(_xdocChild.InnerXml);
}

Выше c # код делает все это, но я не получаю правильный xml. Пожалуйста, предложите !!

...