我有一个字符串,它是xml的一部分。
a<b>b</b>c<i>d</i>e<b>f</b>g
Run Code Online (Sandbox Code Playgroud)
问题是我想从字符串中提取不在任何标签内的部分。所以我需要从此字符串中提取字符串“ aceg”,并保留字符“ bdf”怎么办?
编辑:这是xml的一部分,假设它
<div>a<b>b</b>c<i>d</i>e<b>f</b>g</div>
Run Code Online (Sandbox Code Playgroud)
现在它是一个有效的xml :)
小智 5
以下正则表达式将从字符串中删除所有标签:
Regex.Replace("a<b>b</b>c<i>d</i>e<b>f</b>g", "<[^>]+>", string.Empty);
Run Code Online (Sandbox Code Playgroud)
该字符串不是有效的 XML。
但是,假设您有一个有效的 XML 字符串,那么您可以执行以下操作:
class Program
{
static void Main(string[] args)
{
string contents = string.Empty;
XmlDocument document = new XmlDocument();
document.LoadXml("<outer>a<b>b</b>c<i>d</i>e<b>f</b>g</outer>");
foreach(XmlNode child in document.DocumentElement.ChildNodes)
{
if (child.NodeType == XmlNodeType.Element)
{
contents += child.InnerText;
}
}
Console.WriteLine(contents);
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
这将打印出字符串“bdf”