我需要获取 XML 的值:
<usr_clan_id>123</usr_clan_id>
我需要得到 123,它的例子。我会尝试使用:
Match match = Regex.Match(input, @"<usr_clan_id>([0-9])</usr_clan_id>$",
RegexOptions.IgnoreCase);
但这很糟糕:/
var doc = XDocument.Parse(xmlstring);
var value = doc.XPathSelectElement("//usr_clan_id").Value;
最简单的解决方案
XDocument xdoc = XDocument.Parse(@"<usr_clan_id>123</usr_clan_id>");
int id = (int)xdoc.Element("usr_clan_id");
如果您得到一个巨大的 XML 文件,请使用解析器并按照注释中的建议使用 XPath 获取值。如果您只获得问题中包含的简短 XML 字符串,那么我认为 RegEx 非常好。
关于正则表达式:您只匹配一位数字。而是使用+
which 匹配一个或多个数字。
@"<usr_clan_id>([0-9]+)</usr_clan_id>$"