Как я могу получить дочерние узлы из xslt? Вот так выглядит моя структура: ''
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<object>
<cats>
<cat>
<entity_id>1</entity_id>
</cat>
<cat>
<entity_id>2</entity_id>
</cat>
<cat>
<entity_id>10</entity_id>
</cat>
</object>
</objects>
Я пробовал cats / cat / entity_id
но тогда я получаю только первый entity_id, как мне получить второй или третий? Спасибо
2 ответа
Нашел ответ с cats/cat[2]/entity_id
я могу получить второй
Идея делать «перечисляющие» ссылки на конкретные экземпляры - не лучшее решение.
В XSLT 1.0, если вы используете, например, xsl:value-of
с возвращением select
несколько узлов, тогда xsl:value-of
принимает только первый возвращенный элемент, а остальное, видимо, «пропадает».
Чтобы обработать полную возвращаемую последовательность, вам необходимо:
- сохранить его в переменной,
- обработать его в цикле (
for-each
).
Эта функция была изменена в XSLT 2.0, где:
- все возвращенные товары выводятся,
- есть атрибут
separator
, указывающий, что вставлять между последовательными пунктами.
Похожие вопросы
Новые вопросы
xml
XML (Extensible Markup Language) - это формат структурированного документа, определяющий правила кодирования текста. При использовании этого тега включайте дополнительные теги, такие как язык программирования, наборы инструментов, используемые технологии XML и другие теги, описывающие среду, в которой опубликована проблема. Гибкость XML обеспечивает широкий спектр применений для передачи человеческих и машинных данных, в том числе конкретных инструментов и библиотек.