Есть исходный XML-документ. Теперь я хочу преобразовать его в другой документ XML с тем же содержанием, но с другим порядком элементов. Я думаю, что использую xslt, и я думаю, что этот способ тоже подойдет.
Тем не менее, я хочу знать, есть ли другие способы сделать это?
спасибо
xslt это хорошо, но вы также можете вызвать некоторую библиотеку XML из языка сценариев или даже написать свою программу на C или C ++ ....
Это действительно зависит от производительностисоображения .... (Если вам приходится ежедневно обрабатывать сотни XML-документов размером с гигабайт или только несколько десятков мегабайтных документов).
Также рассмотрим XQuery.Мое обычное эмпирическое правило заключается в том, что XQuery лучше, чем XSLT для простых задач, тогда как XSLT лучше для сложных задач.Вы не показали нам свои данные, но решение в XQuery может быть таким простым, как
<data> { for $row in /*/row order by $row/sort-key return $row }</data>
В качестве альтернативы XSLT и использования вашего любимого языка программирования есть инструмент командной строки xmlstarlet, который может выполнять большую часть обработки XML с гораздо более простым синтаксисом, чем xslt. Смотрите здесь для обзора
xmlstarlet
http://xmlstar.sourceforge.net/overview.php
и вот хороший урок:
http://www.ibm.com/developerworks/library/x-starlet/index.html
Вы можете использовать язык программирования, такой как Perl, Java, PHP, Ruby, Python и т. Д., Чтобы проанализировать XML, а затем вывести новый в нужной форме.
Но, как вы сказали, XSLT - лучший подход.