如何使用XDocument和Linq添加到目标对象?

时间:2010-10-29 01:19:02

标签: c# linq

我需要将大量新生成的xml添加到现有的xdoc中,但仅限于我的节点,这些节点包含其子节点的特定值。这是一个例子:

            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中,我只是调用一些方法来返回一个XDocument,其中树结构是root-> Tiles-> TileST,其中有一堆TileST节点。每个TileST节点都有一个名为TileNumber的子节点,并且在例如,我希望值为0的那个.newXML包含我最终想要添加到某个节点的内容。

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

1 个答案:

答案 0 :(得分:1)

你试过了吗?

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

我主要使用XElement而不是XDocument,您可以在其中XElement添加一个XElement