大きなXMLファイルを開く


7

私は比較的大きなXMLファイル(50MB)を開こうとしていますが、私のMacはそれを開けません。

TextEditor、Xcodeを使用してみました

他の提案はありますか?


1
ファイルが破損していないことを確認しましたか?catファイルの場合、内容を見ることができますか?ターミナルで、次のように入力しますcat foobar.xml
アラン

はい、ファイルは破損していません。同様のXMLファイルがたくさんあります。1〜5 MBの小さなファイルはすべて正常に開いています。
内部の

回答:


4

ファイルのソースに応じて、単に開く(ダブルクリック)以外の方法で内容を調査することもできます。これには、コマンドラインを使用する必要があります。

いくつかの推奨開始ポイント(「whatever.xml」はファイルの名前です):

file whatever.xml

これにより、ファイルの種類がわかります。ファイル拡張子によるものではなく、実際の内容の検査によるものです。

head whatever.xml

これにより、ファイルの最初の10行が表示されます。ただし、注意してください。単一行で構成される50 MBのXMLファイル全体を持つこと可能です。ごみの噴出が始まったら、Ctrl-Cを押して停止します。(はい、コントロール C、いないコマンド-C。)

編集することさえせずにファイルを表示するには:

less whatever.xml

ファイル非常に長い行で構成されている場合、それを読み取るために、定期的な行の折り返し(フォーマット)を強制できます。

fmt whatever.xml | less

ただし、実際にlessは、特に指定しない限り、デフォルトで行を折り返します。行を折り返さないように(したがって、横方向の矢印キーを使用してスクロールできます):

less -S whatever.xml

これらのコマンドのいずれかがファイルの問題を明らかにする可能性は十分にあります。


3

Sublime Text 3を使用して編集を行います。非常に素晴らしく、かなり高速なプログラム可能な(プラグイン付き)エディター。50 mbのテキストファイルで試してみましたが、問題はないようです。Sublime Text 3は無料ではありませんが、無料の試用期間は無限のようです。Sublime Textをチェックしているときに、Atomも試しました。Atomはロード時に低速でしたが、ロードされると問題なく見えました。


2

大きなファイル用のgotoエディターはBBEditです。速度を落とすことなく、はるかに大きなファイル(200MB以上のログファイル)を開きました。アスキー文字列を探すために、バイナリファイルを開くためにも使用しました。BBEditで開くことができない場合、何もできません。


私は非常に大きなファイルでTextWranglerを正常に使用しましたが、Sublimeや他のファイルのようには動かないでしょう。彼らはBBEditを支持して「サンセット」TextWranglerなので、これは正しいと言います。TWの古いコピーをお持ちの場合は、それも機能します。
包丁

もともと、TextWranglerよりもBBEditをお勧めする理由について段落を書いていましたが、質問に関連していないようで、実際の回答よりも長かったので削除しました。
ⱮarkƬ


1

(編集ではなく)単に開きたい場合はxmllint、ターミナルでコマンドを試してください:

xmllint --format ~/Desktop/file.xml

xmllintコマンドラインツールのマニュアルページがあります:ここに移動


0

より大きなXMLファイルでの作業では、Oxygen XML Edito rまたはSublime Textを試してみることをお勧めします。
最初のエディターは、その汎用性のために私が選んだエディターですが、かなり重いです。読みやすくしたり、検索と置換が必要な場合は、Sublime Text 3で行うことができます。時間がかかりますが、クラッシュすることはありません。
私が試した他のすべてのエディターは、ファイルを開くことができませんでした(200 MBを超える大きなxmlファイルについて話している)か、彼らは時間がかかりました。さらに、OxygenとSublimeの両方がコードの強調表示オプションを提供します(たとえば、RDF言語を扱う場合)。
それが役に立てば幸い

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.