2010-10-29 43 views
1

我需要将大部分新生成的xml添加到现有的xdoc中,但仅适用于其中一个子项包含特定值的节点。这里有一个例子:如何使用XDocument和Linq添加到目标对象?

  XDocument originalXML = GetEntityXml(ref exportTile); 

      XDocument newXML = testr(); 

      XElement xe = new XElement("Subtiles"); 

      var listTileST = from p in originalXML.Descendants("TileST") 
         where (string)p.Element("TileNumber").Value == "0" 
         select p; 

在我originalXML我打电话了一些方法,其中树结构是根 - > Tiles-> TileST返回一个XDocument那里有一堆TileST nodes.Each TileST节点都有一个孩子叫TileNumber,在这个例子中,我想要一个值为0. newXML包含我最终想要添加到某个节点的内容。

所以,现在我检索了我想在listTileST中的节点,我不知道该去哪里。我想要做的就是将newXML中的所有xml添加到listTileST中检索到的节点,显然希望它具有存储在originalXML中的节点的效果。

回答

1

你试过:

foreach(XElement currentElement in listTileSt) 
{ 
    currentElement.Add(newXml.Elements()); 
} 

我大多是XElement和不工作与XDocument在那里你可以添加一个XElement到另一个XElement

+0

明白了,我做了几乎相同的事情,但没有看到我的问题是一个永久循环问题,因为新的XML也有一个瓦片数为0.因此,我强迫它只看着来自根节点的TileST节点。 – Ilya 2010-10-29 18:11:05