需要删除字符串中的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);