Способы преобразования исходного XML в другой XML - PullRequest
1 голос
/ 03 декабря 2011

Есть исходный XML-документ. Теперь я хочу преобразовать его в другой документ XML с тем же содержанием, но с другим порядком элементов. Я думаю, что использую xslt, и я думаю, что этот способ тоже подойдет.

Тем не менее, я хочу знать, есть ли другие способы сделать это?

спасибо

Ответы [ 4 ]

2 голосов
/ 03 декабря 2011

xslt это хорошо, но вы также можете вызвать некоторую библиотеку XML из языка сценариев или даже написать свою программу на C или C ++ ....

Это действительно зависит от производительностисоображения .... (Если вам приходится ежедневно обрабатывать сотни XML-документов размером с гигабайт или только несколько десятков мегабайтных документов).

0 голосов
/ 04 декабря 2011

Также рассмотрим XQuery.Мое обычное эмпирическое правило заключается в том, что XQuery лучше, чем XSLT для простых задач, тогда как XSLT лучше для сложных задач.Вы не показали нам свои данные, но решение в XQuery может быть таким простым, как

<data> {
  for $row in /*/row
  order by $row/sort-key
  return $row
}</data>
0 голосов
/ 03 декабря 2011

В качестве альтернативы XSLT и использования вашего любимого языка программирования есть инструмент командной строки xmlstarlet, который может выполнять большую часть обработки XML с гораздо более простым синтаксисом, чем xslt. Смотрите здесь для обзора

http://xmlstar.sourceforge.net/overview.php

и вот хороший урок:

http://www.ibm.com/developerworks/library/x-starlet/index.html

0 голосов
/ 03 декабря 2011

Вы можете использовать язык программирования, такой как Perl, Java, PHP, Ruby, Python и т. Д., Чтобы проанализировать XML, а затем вывести новый в нужной форме.

Но, как вы сказали, XSLT - лучший подход.

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