Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function

后端 未结 2 463
抹茶落季
抹茶落季 2020-12-15 02:33

I am trying to call SelectNode from XmlDocument class and trouble due to this error:

Namespace Manager or XsltContext needed

相关标签:
2条回答
  • 2020-12-15 03:05

    You have to add xsl namespace to XmlNamespaceManager:

    var document = new XmlDocument();
    document.Load(...);
    var nsmgr = new XmlNamespaceManager(document.NameTable);
    nsmgr.AddNamespace("xsl", "http://www.w3.org/1999/XSL/Transform");
    
    var nl = document.SelectNodes("//xsl:import/@href", nsmgr);
    
    0 讨论(0)
  • 2020-12-15 03:09

    The document can be traversed by GetElementsByTagName and it doesn't necessarily need using XmlNamespaceManager:

    var nodes = document.GetElementsByTagName("xsl:import");
    var href =  nodes[0].Attributes["href"];
    

    Fiddle

    0 讨论(0)
提交回复
热议问题