• ベストアンサー

DOSコマンドラインからxmlファイル整形したい

こんにちは。 Windows のコマンドライン(正確にはバッチファイルで)、指定した xml ファイルを整形する方法を探しています。 整形方法は適当でよいですし、検証機能はなくても構いません(あっても別にいいです)。 現状、XMLがまったくの改行なしでベタ打ちされているので、多少は整形しないと、というレベルです。後々のファイル処理がややこしくならないように。 簡単に準備できるもの、コマンドもシンプルで、オプションなども複雑でないものがいいのですが、なにかいいプログラムなどご存じでしたら教えてください。XMLファイルは最大で10MBくらいあるかもしれません。

質問者が選んだベストアンサー

  • ベストアンサー
noname#223623
noname#223623
回答No.1

定番ですが HTML Tidy とか。名前は HTML だけど XML にも対応してます。 実行してみましょう。これが元のファイルの sample.xml。改行無し。  <?xml version="1.0" encoding="utf-8" ?><friends><person><name>松田松男</name><nickname>まっちゃん</nickname><tel>0123-45-6789</tel></person><person><name>高野高雄</name><nickname>タカさん</nickname><tel>9876-54-3210</tel></person></friends> tidy で整形するとこんな感じ。  $ tidy -utf8 -xml -i -q sample.xml  <?xml version="1.0" encoding="utf-8"?>  <friends>  <person>  <name>松田松男</name>  <nickname>まっちゃん</nickname>  <tel>0123-45-6789</tel>  </person>  <person>  <name>高野高雄</name>  <nickname>タカさん</nickname>  <tel>9876-54-3210</tel>  </person>  </friends> これは Linux で実行したけど、Windows 版もあります。 説明は次のページがわかりやすいかな。 http://d.hatena.ne.jp/takuya_1st/20110830/1314704820 下のページが本家。 http://tidy.sourceforge.net/

tuktukrace
質問者

お礼

ありがとうございます! お返事が遅れて申し訳ありません。 こちらのTyDyで対応することになりました。 助かりました。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

http://totora.jpn.org/mj/kowaza/xslt.html とかどうでしょう。 xslファイルを書けばどうにでも変形できます。

tuktukrace
質問者

お礼

ありがとうございます。 今回は、スタイルシートなしで対応することにしました。

関連するQ&A

  • DOSコマンドについて

    ご教授お願いします。 Windows Server 2003において、 DOSコマンドによるバッチを作成するにあたり ファイルを圧縮する設定/方法を教えて頂けないでしょうか? 恐れ入りますが、宜しくお願いします。

  • DOSコマンドでの日付選択ファイル削除

    DOSのファイル削除コマンド(DELあるいはERASE)にファイル更新日付による選択オプションを与えるようなことはできないのでしょうか。 一定期間以上前のLogファイルや一時保存ファイル等を定期的に自動削除していくタスクスケジュールを組みたいのです。具体的には、特定フォルダ内の、例えば1ヶ月以上前に更新されたファイルのみ指定して削除するDOSコマンドオプションがあれば、これを使ったバッチプログラムファイルを作り、それをタスクスケジューラで定期的に実行する形式にしたいと考えています。 もしDOSコマンドによる方法が不可能な場合、他に簡単でいい方法があったらご教示いただければ助かります。

  • DOSのECHOコマンドで > を表示させたい

    DOSでバッチファイルを組んでいます そこで ECHOコマンドで > を表示させたいのですが 具体的には ECHO > と打っているんですがコマンドの構文が間違っていますと出ます おそらく実行結果をファイルにするときの > になってしまっているのだと思います ECHOで > を表示させる方法は無いでしょうか? 知っている方いればお願いします

  • DOSコマンドとか。。。

    コンパイルログが表示されている Dos画面のログをテキスト出力する方法は どうすればよいでしょうか。 コンパイルコマンド + > ファイル名 以外の方法でよろしくお願いします。 Windows2000を使用しています。 共有コンピュータの共有フォルダにアクセスする バッチファイルを作成しようと考えています。 共有フォルダにはユーザー名とパスワードを入力する 必要があり、毎回入力するのがめんどくさいからです。 どのように記述すればよいでしょうか? 以上 よろしくお願いします。

  • DOSコマンドの削除で・・・

    DOSコマンドを使って、指定ファイルの削除バッチを作成し、タスク管理で自動実行しようと試みたのですが、DOS窓でy/nの返答を返さないと先に進まず自動的に実行が出来ません。 いい方法があれば教えてください。

  • Windows Dosコマンドで

    WinXP HE あるいは PEでのお話です。 Dosコマンドで(バッチ処理をさせたいのですが)、 あるテキストファイルの1行目の先頭文字2文字を 切り取って標準出力する方法はあるのでしょうか? いろいろ調べてみたのですが、 UNIXほど強力なテキストエディット機能が無いようで困っています。

  • DOSプロンプトでコマンドが動作しない

    batファイルを作るためにとりあえずwindows端末のDOSプロンプト を立ち上げ、コマンドをたたいてみようとしています 端末はwindows7なのですが、DOSプロンプトに対して openコマンドをたたいたら 'open'は内部コマンドまたは外部コマンド、操作可能なプログラム またはバッチファイルとして認識されていません とのメッセージがでます Webで調べるとパスが通ってない?とのことのようですが このopenコマンドがwindows7のどこにあるか あるいはそれがわかった時、どこにどのように記載したらいいか 等、記載のサイトとか方法について教えていただけないでしようか よろしくお願いします。

  • バッチファイル ファイル内で改行したい

    バッチファイルで、echo出力文字列が長くなる場合など(&でコマンドをつなげた場合も)見づらいので、任意のところで改行したいです。 コマンドプロンプトでは^(キャヘット?)で可能のようなのですが、バッチファイルの場合はどのようにすればよいでしょうか?よろしくお願いします。

  • バッチファイルについて

    教えて下さい。 複数のログファイルを、バッチファイルをつかってひとつのCSVファイルにまとめます。 forfiles コマンドを使って、所定内の*.csv ファイルを typeで出力し 1つのCSVファイルにまとめます。 しかし、各ログファイルの文末が改行されておらず1つにまとめると 前のファイルの行末に次のログファイルの1文字目が来てしまいます。 ログファイルを、全て添付の下側の画像のように改行する設定にできたらいいですが 数が多いのでバッチコマンドに何か手を加える方向でいきたいです。 改行のCSVファイルを用意して、ログファイルの間に繰り返しかませることも できるならありかと考えています。 何かいい方法はないでしょうか?

  • バッチ終了時にDOS窓を閉じるコマンド

    自作バッチについて質問があるのですが、 バッチ終了時にDOSプロンプトを自動的に閉じる方法を教えて下さい。 以下の方法は知っているのですが↓ ------------------------------------------------------------ バッチのプロパティ画面の「プログラム終了時にウィンドウを閉じる」を チェックする ------------------------------------------------------------ 上記のようなやり方ではなく、バッチファイルの中に直接コマンドを書いて 設定する方法を教えて下さい。