我想获取此xml属性limit=\"25\"
我试过这个:Match match = Regex.Match(response.Content, "(?<=limit=))\\d+");
给了我一个错误:“太多了”。
并且:Match match = Regex.Match(response.Content, @"limit=([0-9])$"
没有回复,匹配不成功
从这个xml:
<issues type="array" limit="25" total_count="251" offset="0">
<issue>
<id>4317</id>
答案 0 :(得分:1)
你的第一个正则表达式有太多了。数数吧。
由于属性值周围的引号,您的第二个失败了。请改为"limit=\"([0-9])\"$"
。
许多人会告诉您使用XML解析器。我强烈建议,如果你做的不仅仅是从知名的XML中提取非常小的数据,因为XML本身不能用正则表达式解析。
答案 1 :(得分:1)
Regex
可以用于解析XML,因为它的格式是严格但推荐不能
使用LINQ2XML
XElement doc=XElement.Parse(response.Content);
var value=doc.Attribute("limit").Value;
或强>
var value=Regex.Match(response.Content, @"limit=""(\d+)""",RegexOptions.Singleline).Groups[1].Value;
答案 2 :(得分:-1)
最好使用
string TheStringNeededToBeParsed =“... the xml”;
TheStringNeededToBeParsed .IndexOf(...