当前位置: 首页 > 知识库问答 >
问题:

属性有'@'时如何在XSL中获取值

咸疏珂
2023-03-14

如何获取

<xsl:stylesheet version="3.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:eu="http://europa.eu.int" xmlns:xlink="http://www.w3c.org/1999/xlink"> 
   <xsl:template mode="agency"> 
    <xsl:choose>
        <xsl:when test="@code='AT-BASG'">Austria - BASG- Austrian Federal Office for Safety in Health Care / Austrian Medicines and Medical Devices Agency</xsl:when>
     </xsl:choose>
   </xsl:template>
   <xsl:template mode="submission">
    <xsl:choose>
        <xsl:when test="@type='maa'">Marketing Authorisation</xsl:when>
    </xsl:choose>
   </xsl:template>
</xsl:stylesheet>   

我试过如下:

        string emp = "@type='maa'";
        XmlDocument xslDoc = new XmlDocument();
        xslDoc.Load(IndexFTPLocation);
        //ReadXElement(indexXele, sequenceName, ApplicationName, IndexFTPLocation, 1);
        XmlNamespaceManager nsMgr = new XmlNamespaceManager(xslDoc.NameTable);
        nsMgr.AddNamespace("xsl", "http://www.w3.org/1999/XSL/Transform");
        XmlNode usrNode = xslDoc.SelectSingleNode("/xsl:stylesheet/xsl:template[@mode='submission']/xsl:choose/xsl:when[@test='@type='maa'']", nsMgr);  

但是,当type=“maa”时,我无法获得“营销授权”。你能帮我解决这个问题吗?

提前感谢!!

编辑:获取错误:“/xsl:stylesheet/xsl:template[@mode='submission']/xsl:choose/xsl:when[@test=“@type='maa']”具有无效令牌。


共有1个答案

彭霄
2023-03-14
匿名用户

当[@test='@type='maa']时,可以在xsl中使用”,如以下代码所示:

XmlDocument xslDoc = new XmlDocument();
xslDoc.Load(IndexFTPLocation);

XmlNamespaceManager nsMgr = new XmlNamespaceManager(xslDoc.NameTable);
nsMgr.AddNamespace("xsl", "http://www.w3.org/1999/XSL/Transform");

XmlNode usrNode = xslDoc.SelectSingleNode("/xsl:stylesheet/xsl:template[@mode='submission']/xsl:choose/xsl:when[@test=\"@type='maa'\"]", nsMgr);
string text = usrNode?.InnerText;

演示

Console.WriteLine(text);

后果

Marketing Authorisation

我希望这对你有帮助。

 类似资料:
  • 问题内容: 在以下HTML中,我需要使用Selenium Webdriver获取登录值。 我尝试了以下操作,但失败了:- 先感谢您 问题答案: 我还要检查以确保您使用的定位器仅带回一个元素,而不是更多-要检查这一点,请使用来运行相同的事情,并确认仅返回单个结果。 HTML中通常存在隐藏的元素,而您的定位器可能会选择它们。

  • 问题内容: 我找不到使用Thymeleaf从URL获取属性的任何解决方案。例如,对于URL: 我需要获取“错误”属性值。如果有帮助,我也正在使用SpringMVC。 问题答案: 经过一番调查,我发现实际上是Spring EL问题。因此,使用null检查的完整答案是:

  • 我需要标签中的属性值。< br >例如。Name xmlns:xsi = " http://www . w3 . org/2001/XML inst " xsi:space schema = " Name _ 5879 . xsd "

  • 我正在尝试获取此代码的颜色和图像: 除了在以电流结尾的类中,这两个看起来都一样。 我的问题是我不知道如何获得元素的值。 我试过:

  • 问题内容: 实际上,我使用的是xlrd模块0.8版本,但我不知道如何读取单元格属性,例如背景色,字体以及单元格是否被锁定。 我尝试使用 它引发一个错误,指出在读取时需要设置格式化信息,但是如果我有该参数,则表明它仍未实现。 是否有另一个模块,或者该模块本身如何读取单元格属性? 问题答案: 以下内容使用xlrd 0.7.6版对我有效: 是XF类的实例;参见https://secure.simplis

  • 问题内容: 我有几个线程组。我想使用第一组的变量。在第二组中,此var应该在BeanShell中使用。所以:在第一个线程组中,我使用以下代码创建了BeanShell断言: 在第二个线程组中,我有BeanShell预处理器。如果有这样的行: 我尝试过这样的一些变化: 但这不起作用。请帮助在BeanShell预处理器中使用$ {__ property(erroriden)}。 问题答案: 在第一个线程