Основные результаты запросов XML XQuery
Я здесь с вопросом, на который, я надеюсь, можно ответить, который действительно довольно глупый и простой.
У меня есть файл авторов в формате:
<authorRoot>
<author>
<info tags on author>
</author>
etc
</authorRoot>
и все, что я хочу сделать, это через FLWOR возвращать список, в котором каждый "автор" и его информация имеют разные значения, поэтому, когда я запускаю запрос, результат должен выглядеть примерно так
1. <author><info>.....</info></author>
2. <author><info>.....</info></author>
etc
и я уверен, что что-то простое должно быть следующим кодом
xquery version "1.0";
for $x in //author
return $x
тем не менее, когда я делаю это, результат запроса выглядит как
1.<author><info>...</info></author><author><info>...</info></author><author><info>...</info></author><author><info>...</info></author><author><info>...</info></author>....etc
Я относительно новичок в XQuery, и я использую AltovaSpy. Я задал схожие базовые вопросы (где у меня есть файл с похожей разметкой, и я использую, по сути, один и тот же код, в результате чего страница результатов xquery имеет несколько значений, а не только одно длинное), но для этого файла это просто не похоже на работу! Что-то с моим кодом я просто не вижу? Или это может быть файл?
Спасибо за ваш вклад в ситуацию.
2 ответа
Ну, твои рассуждения верны.,
Это просто проблема форматирования, кажется, что Altova печатает всю последовательность в одну строку без разрывов строк.
Вы также можете попробовать это в моем онлайн-тестере XQuery, там вы можете видеть, что последовательность соответствует ожидаемой.
Если вы посмотрите это демонстрационное видео Altova XMLSpy и перейдете к 2:35, вы увидите, как нажатие на одну из кнопок панели инструментов (которая называется "Pretty-print") отформатирует результаты вашего XQuery в виде XML с хорошим отступом.