xml を「整形」またはフォーマットする 2 つの方法を知っています。
他にどのような無料の (ビールのような) フォーマッターがありますか? (javascriptを使用する以外)
xml を「整形」またはフォーマットする 2 つの方法を知っています。
他にどのような無料の (ビールのような) フォーマッターがありますか? (javascriptを使用する以外)
リンク先の恒等変換は、任意の XSLT プロセッサ (Saxon、msxml など) に移植できます。
さらに、どれがLibXML2xmllint
ツールキットの一部であるかを調べることができます。このオプションを使用すると、入力をきれいに印刷できます。同様の機能がXMLStarlet (内部で LibXML2 を使用する iirc) にも存在します。--format
xmlstarlet fo
きれいな印刷に使用するものです。Xmlstarletにはいくつかのオプションがあります。
$ xmlstarlet fo --help
XMLStarlet Toolkit: Format XML document
Usage: xml fo [<options>] <xml-file>
where <options> are
-n or --noindent - do not indent
-t or --indent-tab - indent output with tabulation
-s or --indent-spaces <num> - indent output with <num> spaces
-o or --omit-decl - omit xml declaration <?xml version="1.0"?>
-R or --recover - try to recover what is parsable
-D or --dropdtd - remove the DOCTYPE of the input docs
-C or --nocdata - replace cdata section with text nodes
-N or --nsclean - remove redundant namespace declarations
-e or --encode <encoding> - output in the given encoding (utf-8, unicode...)
-H or --html - input is HTML
優れた XML エンジニアは、xmlstarlet を使いこなせるはずです。
http://prettydiff.com/?m=beautify残念ながら、これは JavaScript で記述されています が、完全なアプリケーションであるため、そのことを知る必要はありません。何もダウンロードまたはインストールしなくても、ブラウザー内から実行できることを知っておいてください。
私は XML 操作用の Java ライブラリXOMが好きです。出力を細かく制御できる便利なプリティ プリンターがあります。
Python で libxml2 を使用する場合:
with open(pathToSaveResult, 'w') as fd:
xmlParsed.saveTo(fd,format = libxml2.XML_SAVE_FORMAT)
編集: libxml2 にいくつかのバグがあるようです ...かなりの印刷は、libxml2.XML_SAVE_FORMAT の代わりにタグ libxml2.XML_SAVE_NO_EMPTY で行われます