为什么这个XPath查询不能在.edmx文件上运行?

时间:2009-07-24 15:20:30

标签: c# xml xpath

我正在尝试获取EDMX文件中的EntityTypes列表,以下查询不返回任何结果:

XmlDocument edmxFile = new XmlDocument();
edmxFile.Load(args[0]);

XmlNamespaceManager nsMan = new XmlNamespaceManager(edmxFile.NameTable);
nsMan.AddNamespace("edmx", "http://schemas.microsoft.com/ado/2007/06/edmx");
nsMan.AddNamespace("s", "http://schemas.microsoft.com/ado/2007/06/edm/ssdl");
nsMan.AddNamespace("e", "http://schemas.microsoft.com/ado/2007/06/edm");
nsMan.AddNamespace("u", "urn:schemas-microsoft-com:windows:storage:mapping:SC");


XmlNodeList entityTypes =  edmxFile.DocumentElement.SelectNodes("//EntityType", nsMan); //Returns 0 nodes
XmlNodeList entityTypes =  edmxFile.SelectNodes("//EntityType"); //Returns 0 nodes also

为什么XPath不在这里工作?

1 个答案:

答案 0 :(得分:1)

已经有一段时间了,但我认为您在调用这些方法时需要"//s:EntityType"