ASP.NET, XSLT, извлечение значений из раздела CDATA - PullRequest
0 голосов
/ 14 апреля 2010

У меня небольшая проблема, у меня есть xome xml с разделом cdata. Этот раздел CDATA содержит фрагменты HTMl. Я хотел бы извлечь некоторые данные из этого элемента CDATA. Сейчас у меня есть XSLT-преобразование, которое выводит остальную часть документа как HTMl, но мне нужна только небольшая часть HTML-кода CDATA, а не вся его часть, например мой заголовок тега. Как это сделать?

1 Ответ

1 голос
/ 14 апреля 2010

XSLT не будет читать раздел CDATA как что-либо кроме текста. Вам нужно будет предварительно проанализировать ваши данные, прежде чем передать их в XSLT. Вы можете использовать подготовительный скрипт (написанный на Python, PHP, Perl, VB и т. Д.) И затем выполнить одно из (но не ограничиваясь этим) следующее:

  • удалите теги CDATA и разрешите XSLT обрабатывать нежелательный контент
  • переместите тег <title> в доступное для XSLT место вне тегов CDATA
  • может быть, используя Beautiful Soup в Python ( или cthulhu-вызывающий regex ), получить желаемое значение из секции CDATA и передать желаемое значение в качестве параметра для XSLT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...