使用Linq从XML返回xml doc的value字段中的子字符串

时间:2012-04-20 12:35:42

标签: c# xml linq linq-to-xml

XML字段是这样的:

<Element> 0 (0)</Element>

据我所知,这应该按照我的意愿行事,你可以忽略不相关的部分(e.Descendants),因为这在我的查询的更大方案中是正确的(我已经验证了这一点)。 :

Regex regularExpression = new Regex(@"(\d+) \((\d+)\)", RegexOptions.IgnorePatternWhitespace);

有问题的Linq to XML:

variableName =  e.Descendants().Where(i => regularExpression.IsMatch(i.Value.ToString())).Select(j => regularExpression.Match(j.Value.ToString()).Groups[1].Value.ToString()).ToList()

但是,当我尝试打印此值时,它不会打印任何内容。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您的正则表达式应使用'\s'而不是' '

Regex regEx2 = new Regex(@"(\d+)\s\((\d+)\)", RegexOptions.IgnorePatternWhitespace);