Доступ к переменной XSL с классическим ASP-кодом? - PullRequest
0 голосов
/ 09 марта 2011

Мне любопытно, есть ли доступ к данным переменной XSL из кода ASP. Сначала немного справочной информации ...

У меня есть страница ASPX, которая извлекает данные из файла XML и использует отдельную классическую страницу ASP для аспекта «Response.write (mm_xsl.Transform ())».

На классической странице ASP, которая задает вывод HTML для средства просмотра, у меня есть переменные XSL, используемые для печати определенных данных из файла XML. Например, я использую этот код для инициализации переменной:

<xsl:variable name="age" select="person/Age" />

А затем этот код для вывода / вывода переменной:

{$age}

Допустим, значение переменной было 50. Есть ли способ, как я могу каким-то образом передать "50" в переменную ASP? Я понимаю, что мне может понадобиться проявить изобретательность и каким-то образом получить "50" из разметка, аналогичная разбору DOM на стороне клиента. Есть ли какой-нибудь метод синтаксического анализа на стороне сервера, подобный этому?

Есть еще идеи? Любые советы или соответствующие ссылки с благодарностью. Спасибо!

Ответы [ 3 ]

2 голосов
/ 09 марта 2011

Разве вы не можете просто выполнить тот же выбор, который у вас есть в вашем операторе xsl: variable во встроенном VBScript на странице Classic Asp?

Предполагая, что ваш XML-документ называется mm_doc, вы можете попробовать что-то вроде:

  dim age
  age = mm_doc.selectSingleNode("person/Age").text

и теперь у вас есть переменная возраста с тем же содержимым из вашего XML-документа.

0 голосов
/ 09 марта 2011

Как сказал Дмитрий, вам нужно использовать MSXML, который является XML-плагином для ASP.

Учебники и документация доступны по адресу:

0 голосов
/ 09 марта 2011

Вам нужно посмотреть в документации MSXML, как получить результат преобразования в виде строки (из VBScript или JavaScript). Я верю, что это возможно.

Тогда ваше XSLT-преобразование просто выведет значение переменной (и ничего больше).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...