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