XMLでgrepのような操作を実行するための優れたツールを探しています。たとえば、特定の属性のみを抽出します。
Grep
自体はそれを処理できません-DFAと同等のツールは非再帰的な一致のみを処理でき、私のものは再帰的である可能性があります。
私は xgrep を試しましたが、それは非常に不安定で、安定した信頼できるツールが必要です。
何かお勧めですか?
編集:Linuxでうまく機能するオープンソースツールを好みます。
XMLStarlet (Wikipedia)はgrep
に近いコマンドラインツールです。これはオープンソースソフトウェア(MITライセンス)であり、LinuxおよびWindowsで正常に動作します。
XMLStarletのWebサイト は次のように説明しています。
XMLStarletは一連のコマンドラインユーティリティ(ツール)であり、UNIXのgrep、sed、 awk、diff、patch、joinなどのコマンド。
Debian/Ubuntuパッケージの名前はxmlstarlet
です。 しかし注意してください:マンページに書かれていることとは逆に、Debian/Ubuntuではバイナリはxmlstarlet
ではなくxml
という名前です。
SourceForgeにはWindowsバイナリもあります。
素敵な紹介については、IBMの XMLStarletで作業を開始する を参照してください。
Linuxで動作するツールはxml_grepです。 XMLを完全に理解し、行ごとのツールではありません。
xml_grepはstand-aloneツールとして XML :: Twig パッケージ。 grepping機能は、 XPath 仕様をサポートするため、非常に強力です。
コマンドラインの例(2月中旬以降に編集された投稿を triology Data Dump から抽出):
xml_grep -p --cond="row[@LastEditDate>'2010-02-14']" posts.xml > lateEditedPosts.xml
インストールは簡単です。どちらか
Sudo cpan -i "XML::Twig"
、以下で参照されるxml_grepクックブックで説明されています。または
ダウンロード http://xmltwig.org/xmltwig/XML-Twig-3.34.tar.gz または http://search.cpan.org/ CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar.gz 。例えば。 wget http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar.gz
抽出:gunzip XML-Twig-3.34.tar.gz; tar -xvf XML-Twig-3.34.tar
フォルダに移動:cd XML-Twig-3.34
インストール:Perl Makefile.PL -y
。次に、make
、make test
およびSudo make install
。
詳しくは:
xml_grepについて私が見つけた最良の導入は、xml_grepクックブック です。 、約2ページ。その他:
XMLではgrepのようなツールを使用しないことをお勧めしますが、代わりにライブラリを使用してXMLを解析します。
正確に何が必要ですか?プログラミング言語は? .NETビルトインXMLパーサーは、プログラムを作成するつもりなら、簡単に仕事に合うと思います。
Update:Linuxの場合、よく知られているXMLパーサーライブラリは libxml2 です。
XMLSpy は、少々費用がかかる場合、素晴らしいツールです。