c# - 如何解析两个元素之间的单词并将其提取出来

标签 c#

例子

<reference>employee</reference>

<data>123</data>

如何使用 C# 进行解析以便我应该将 employee 和 123 作为输出

最佳答案

你可以用它制作一个 XML 文档,并解析它:

string info = "<reference>employee</reference><data>123</data>";

XmlDocument doc = new XmlDocument();
doc.LoadXml("<root>" + info + "</root>");
string reference = doc.DocumentElement.FirstChild.InnerText;
string data = doc.DocumentElement.FirstChild.NextSibling.InnerText;

另一种选择是使用正则表达式来解析字符串:

string info = "<reference>employee</reference><data>123</data>";

MatchCollection m = Regex.Matches(info, "<.+?>(.+?)</.+?>");
string reference = m[0].Groups[1].Value;
string data = m[1].Groups[1].Value;

或者简单的字符串操作:

string info = "<reference>employee</reference><data>123</data>";

int start = info.IndexOf("<reference>") + 11;
string reference = info.Substring(start, info.IndexOf('<', start) - start);
start = info.IndexOf("<data>") + 6;
string data = info.Substring(start, info.IndexOf('<', start) - start);

关于c# - 如何解析两个元素之间的单词并将其提取出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3564798/

相关文章:

c# - 该属性不能配置为导航属性

C# 7.3 枚举约束 : Why can't I use the enum keyword?

c# - 单独线程中的计时器滴答事件

c# - 使用 BinaryExpression AND 解析表达式树

c# - CreateProcessAsUser 在事件 session 中创建窗口

c# - 为什么我不能在 C# 的静态 Main 方法中声明静态变量

c# - 带有开放泛型的 Ninject 上下文绑定(bind)

c# - 应如何为 MVP WinForms 应用程序的主要演示者调用 Application.Run()?

c# - ASP.NET 路由和 CMS

c# - 从 WindowsAzure.Storage 迁移到 Azure.Storage 包时引用 CloudStorageAccount 中的服务