在C#中使用xmlnamespacemanager添加命名空间

kar*_*k k 11 c# asp.net

我正在尝试从XML文件中读取数据.在这个元素中加上'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();
Run Code Online (Sandbox Code Playgroud)

这里strResult包含XML数据

Mar*_*ell 15

就像是:

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);
Run Code Online (Sandbox Code Playgroud)

请注意,命名空间别名只是方便,并且不必在文档和命名空间管理器之间进行匹配 - 但如果它们可能更容易.