xml读取中xpath中使用正则表达式可以么?
查询到xpath中有函数macth,却不知道如何用。贴代码如下(C#)
public CityInfo[] GetLevel1()
{
XmlDocument doc = new XmlDocument();
doc.Load(fName);
string pattern = @"\d{2}0000000000";
List<CityInfo> ci = new List<CityInfo>();
foreach (XmlNode var in doc.DocumentElement.SelectNodes("./area"))
{
string code = var.Attributes["code"].Value;
if (Regex.IsMatch(code, pattern))
{
ci.Add(new CityInfo(code, var.Attributes["code"].Value));
}
}
return ci.ToArray();
}
xml文件结构如下:
<root>
<area name="海南省" code="460000000000" />
<area name="海口市" code="460100000000" />
<area name="市轄区" code="460101000000" />
<area name="秀英区" code="460105000000" />
效率可不高。
该怎么在xpath中使用正则呢?
扩展问题-----
试想一下。如果我有300条数据,速度还可以。如果我有全国的行政区域(到村庄的)上万级。那速度不敢想象,大约40多m的一个文件。如何快速读取呢?