在C#中编辑或删除少量元素后从XML字符串填充obj

时间:2011-08-03 09:07:26

标签: c# .net xml linq

我在字符串变量中有以下类型的内容

<root>

   <head>
   </head>

   <body>

     <head>
     </head>

     <params>
     </params>

   </body>
</root>

所以使用LINQ或其他任何我希望删除第二个 head body in body 标记。这样得到的字符串就像这样。

<root>

   <head>
   </head>

   <body>

     <params>
     </params>

   </body>
</root>

如何做到这一点,是采用任何更简单的方法,而不是字符串匹配或模式匹配方法。

感谢adv们

2 个答案:

答案 0 :(得分:1)

好吧,您可以将字符串读入XmlDocument,找到有问题的节点并将其删除,再次序列化文档。

答案 1 :(得分:1)

这是一种如何实现您想要的方式。

XDocument doc = XDocument.Parse(""); // use Parse when you have a xml string or use XDocument.Load("") if you have a xml file
var element = doc.Descendants("body").Elements("head"); //selects all head elements that are under body element
if (element != null)
     element.Remove();
string result = doc.ToString();