需要删除字符串中的xml节点并保留文本

我有一个字符串,它是xml的一部分。

abcdefg 

问题是我想从字符串中提取不在任何标签内的部分。 所以我需要从这个字符串中提取字符串“aceg”并留下字符“bdf”如何才能完成?

编辑:这是一个xml的一部分让它asume它

 
abcdefg

现在它是一个有效的xml 🙂

该字符串不是有效的XML。

但是,假设您有一个有效的XML字符串,那么您可以执行以下操作:

 class Program { static void Main(string[] args) { string contents = string.Empty; XmlDocument document = new XmlDocument(); document.LoadXml("abcdefg"); foreach(XmlNode child in document.DocumentElement.ChildNodes) { if (child.NodeType == XmlNodeType.Element) { contents += child.InnerText; } } Console.WriteLine(contents); Console.ReadKey(); } } 

这将打印出字符串“bdf”

以下正则表达式将从字符串中删除所有标记:

 Regex.Replace("abcdefg", "<[^>]+>", string.Empty); 

根据@ Stoo的回答,您应该能够省略标签内容以及类似的内容:

 Regex.Replace("abcdefg", "<[^>]+>[^<]+]+>", string.Empty);