相关疑难解决方法(0)

使用在XSLT v1.0中结束

我正在尝试编辑当前的XSLT.我想要的功能是当"// code_no"的值以01结尾时我想编辑当前的城市位置.目前此功能不存在.我已经尝试过使用字符串和子字符串,但是它给出了一个错误,指出功能结尾不存在.请帮忙

来自xml的值是

<code_no>
1870410001
</code_no>
Run Code Online (Sandbox Code Playgroud)

在xsl中,我想在值以01结束时打印.

<td align="left" width="33%"><SPAN style="font-size: 12pt; font-family: Arial;">
    <a> <b><u><xsl:value-of select="//city"/>, <xsl:value-of select="//state"/> 
    </u></b></a></SPAN></td>
Run Code Online (Sandbox Code Playgroud)

xml xslt

17
推荐指数
2
解决办法
3万
查看次数

如何以编程方式在XPathExpression实例中使用XPath函数?

我当前的程序需要以编程方式使用创建XPathExpression实例来应用于XmlDocument.xpath需要使用一些XPath函数,如"ends-with".但是,我找不到在XPath中使用"ends-with"的方法.一世

它抛出异常如下

未处理的异常:System.Xml.XPath.XPathException:需要命名空间管理器或XsltC ontext.此查询具有前缀,变量或用户定义的函数.
System.Xml.XPath.XPathNavigator.Evaluate(XPathExpression expr)上的System.Xml.XPath.XPathNavigator.Evaluate(XPathExpression expr,XPathNodeIt erator context)中的MS.Internal.Xml.XPath.CompiledXpathExpr.get_QueryTree(
)

代码是这样的:

    XmlDocument xdoc = new XmlDocument();
    xdoc.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8"" ?>
                        <myXml xmlns=""http://MyNamespace"" xmlns:fn=""http://www.w3.org/2005/xpath-functions""> 
                        <data>Hello World</data>
                    </myXml>");
    XPathNavigator navigator = xdoc.CreateNavigator();

    XPathExpression xpr;
    xpr = XPathExpression.Compile("fn:ends-with(/myXml/data, 'World')");

    object result = navigator.Evaluate(xpr);
    Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)

我试图在编译表达式时更改代码以插入XmlNamespaceManager,如下所示

    XmlDocument xdoc = new XmlDocument();
    xdoc.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8"" ?>
                        <myXml xmlns=""http://MyNamespace"" xmlns:fn=""http://www.w3.org/2005/xpath-functions""> 
                        <data>Hello World</data>
                    </myXml>");
    XPathNavigator navigator = xdoc.CreateNavigator();
    XmlNamespaceManager nsmgr = new XmlNamespaceManager(xdoc.NameTable);
    nsmgr.AddNamespace("fn", "http://www.w3.org/2005/xpath-functions");

    XPathExpression xpr;
    xpr = XPathExpression.Compile("fn:ends-with(/myXml/data, 'World')", nsmgr);

    object result = navigator.Evaluate(xpr);
    Console.WriteLine(result); …
Run Code Online (Sandbox Code Playgroud)

c# xml xpath namespaces

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

xml ×2

c# ×1

namespaces ×1

xpath ×1

xslt ×1