gpt4 book ai didi

c# - 需要命名空间管理器或 XsltContext。此查询具有前缀、变量或用户定义的函数

转载 作者:IT王子 更新时间:2023-10-29 03:53:17 28 4
gpt4 key购买 nike

我正在尝试从 XmlDocument 类调用 SelectNode,但由于此错误而遇到麻烦:

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

我的代码:

   public void Add(ref XmlDocument xmlFormat, String strName)
{
XmlDocument dom;
XSLTemplate xsl = null;
String strPath = "";
XmlNodeList nl;
XmlAttribute na;
int n;

nl = (XmlNodeList)xmlFormat.SelectNodes("//xsl:import/@href",nsm);
}

和 xsl:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="stylesheets/r_adresetiket.xsl" />
<xsl:template match="/">
<xsl:call-template name="retouradres">
<xsl:with-param name="_retouradres" select="data/adresetiket/_retouradres" />
<xsl:with-param name="minofdir" select="data/adresetiket/afzendgegevens/afzendgegevens" />
<xsl:with-param name="checked" select="data/adresetiket/LB" />
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

最佳答案

您必须将 xsl 命名空间添加到 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);

关于c# - 需要命名空间管理器或 XsltContext。此查询具有前缀、变量或用户定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13511527/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com