У меня есть динамически сгенерированный XML, который ниже, который заполняет значения узлов во время выполнения.Как преобразовать XML в XSLT с помощью функции C#
<?xml version="1.0" encoding="utf-8" ?>
<master>
<child>
<category1>Category1_A</category1>
<category2>Category2_B </category2>
</child>
</master>
У меня есть ключ конфигурации категории кода в моем web.config, как показано ниже
<add key="Code" value="A1|A2" />
Ниже мой XSLT & я знаю, что это не очень хорошо отформатирован.
И я следующие вопросы в этой XSLT
- Как я могу передать ключ конфигурации в ниже функции, так как это не в XML.
- Если этот метод возвращает ложь, то я хочу вернуть строковое сообщение от атрибута XSLT, как «К сожалению, комбинация не соответствует.»
Я знаю, что это довольно немного запутанным, но я знаю, что это очень интересно.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts"> <msxsl:script language="C#" implements-prefix="user"> <![CDATA[ public string checkCategory (string category1,string category2) { if((category1=="Category1_A" && category1==" Category2_B") && ConfigurationManager.AppSetting["Code"].contains("A1")) return true; else return false; } ]]> </msxsl:script> <xsl:template match="master"> <child> <circumference> <xsl:value-of select="user: checkCategory (category1,category2)"/> <!--if method return false then : return Sorry, Combination doesn’t match.”--> </circumference> </child> </xsl:template> </xsl:stylesheet>
Из того, что вы опубликовали, похоже, что вы хотите сравнить содержимое XML с конфигурационной строкой и ничего больше. Почему вы делаете это с XSLT, а не с любой другой технологией обработки XML? –
@AnnL: это предыдущая реализованная логика в проекте, и я делаю некоторые изменения на этом. – intelliWork