我正在尝试编写一些代码来根据 XML 站点地图中的 URL 查找特定的 XmlNode 对象,但无法让它找到任何东西。
该站点地图是标准的 ASP.net 站点地图,包含:
<siteMapNode url="~/lev/index.aspx" title="Live-Eye-Views">
--- Child Items ---
</siteMapNode>
我用来搜索元素的代码是:
XmlDocument siteMapXml = new XmlDocument();
siteMapXml.Load(AppDomain.CurrentDomain.BaseDirectory + _siteMapFileName)
XmlNode levRoot = siteMapXml.SelectSingleNode("siteMapNode[@url=\"~/lev/index.aspx\"]");
levRoot 对象始终为空。当我在 Load 方法之后中断时,我可以看到 XML 文件中的所有元素,因此它按预期加载。
我尝试在 XPath 查询中使用单引号,但这并没有什么不同。
_siteMapFileName 在 Initialize 方法中设置并指向正确的文件。
有没有人知道这可能会发生什么或建议另一种按属性查找特定元素的方法?