xml读取中xpath中使用正则表达式可以么?

张云飞VIR 2010-05-04 11:20:30
查询到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的一个文件。如何快速读取呢?
...全文
320 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2010-05-04
  • 打赏
  • 举报
回复
不要一次遍历,自己xml文件结构再分层,从省,市,县等一级级下来

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧