正则表达式从xml元素获取内部内容

时间:2014-09-26 16:28:37

标签: c# regex

我需要从这段xml中获取值状态。

string xml = "<value z:Id=\"8\" z:Type=\"System.String\" z:Assembly=\"0\">Status.</value>";

Regex regexFieldValue = new Regex("z:Assembly=\"0\">(?<fieldValue>[^<|\\.|.]+)</value>");

Match match = regexFieldValue.Match(xml);
if (match.Success)
{
    Group group = match.Groups["fieldValue"];
    return group.Value;
}

2 个答案:

答案 0 :(得分:0)

[^<|\\.|.]+不会像您预期的那样做。因此,请将其更改为正则表达式中的[^<>]+

z:Assembly=\"0\">(?<fieldValue>[^<>]+)</value>

DEMO

答案 1 :(得分:0)

z:Assembly=\\"0\\">(?<fieldValue>(?:(?!<\/value>).)*)<\/value>

试试这个。看演示。

http://regex101.com/r/lS5tT3/60