大きい xml ファイル (複数) を効率よく分割する方法。


テキストファイルを分割する高機能なフリーソフトはたくさんあるようですが、たとえば、10MB 付近で、</entry> という文字列直後を分割地点に指定できるようなフリーソフトはありますか?
(10MB でなくても 1万行付近でも可)

対象となっている xml ファイルは複数あり、とても大きいのですが一般的な html ファイルのような構成だとイメージしてください。単純な <header> があって、非常に長い <body> があります。

分割後は、スクリプトなどをつかってファイルの冒頭にヘッダ (xml 宣言など) を、末尾にフッタ (というより、</body></html> のような閉じタグ) を自動で追加するつもりです。

Win XP Home です。
質問などあればコメント欄にお願いします。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2010/02/09 20:20:33
  • 終了:2010/02/16 20:25:02

回答(1件)

id:km1967 No.1

km1967回答回数541ベストアンサー獲得回数402010/02/10 00:10:49

ポイント60pt

DTDなりSchemaなりがあれば分割可能だが、すべてのXMLファイルは同一のDTDまたはSchemaで定義されていると考えてよろしいか?

http://www.atmarkit.co.jp/fxml/tecs/007entity/07.html

id:Nigitama

いつもありがとうございます。

この xml ファイルには DTD や Schema がありませんが、すべて同じ構造で作られています。

ファイル処理の際に 100MB を超えるファイルも結構あるので、ファイル処理が遅くなったりできなくなったりしているのを回避させようという動機です。

リンク先の 実体参照を使う方法をためしたところ、自前の xml ファイルでも正常に分割&参照ができることを確認しました。

引き続き調査して追記します。

2010/02/10 01:11:36
  • id:kn1967
    後からスクリプトでヘッダ部分やフッタ部分をつけるのならば、
    最初からスクリプトで分割とヘッダ/フッタ付加を同時にやっては?

    使う予定のスクリプト言語を書けば、おおよそのものが手に入ると思いますよ。
  • id:b-wind
    XML としての構造を保ちつつ分割するにはその XML の仕様を知らないとどうしようもないな。
    適当なところでぶった切って良いかの判断基準がない。

    >最初からスクリプトで分割とヘッダ/フッタ付加を同時にやっては?
    これに同意。というか他の案が思い浮かばない。
  • id:kn1967
    >いつもありがとうございます。

    まさか・・・勘違いしてない?

    類似IDだよ。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません