我在字符串变量中有以下类型的内容
<root>
<head>
</head>
<body>
<head>
</head>
<params>
</params>
</body>
</root>
所以使用LINQ或其他任何我希望删除第二个 head body in body 标记。这样得到的字符串就像这样。
<root>
<head>
</head>
<body>
<params>
</params>
</body>
</root>
如何做到这一点,是采用任何更简单的方法,而不是字符串匹配或模式匹配方法。
感谢adv们
答案 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();