我试图从XML File中读取数据。在此元素中,前缀是“app”和“gml”文本。由于这些前缀,我无法读取数据。为此,我尝试使用xmlnamespacemanager添加名称空间,但没有得到。
编辑:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(new StringReader(strResult));
NameTable nt = new NameTable();
XmlNamespaceManager prefix = new XmlNamespaceManager(nt);
string nmspc = xmlDoc.DocumentElement.NamespaceURI;
prefix.AddNamespace("app:",xmlDoc.DocumentElement.NamespaceURI);
prefix.PushScope();
这里的strresult包含XML Data
最佳答案
类似于:
var doc = new XmlDocument();
doc.Load(source);
var nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("app", "http://www.weather.gov/forecasts/xml/OGC_services");
var firstPoint = doc.SelectSingleNode("//app:Forecast_Gml2Point", nsmgr);
请注意,名称空间别名只是一种方便,不必在文档和名称空间管理器之间进行匹配,但如果它们匹配,则可能更容易。