Saya mencari alat yang bagus untuk melakukan operasi mirip grep di XML - misalnya, ekstrak hanya atribut tertentu.
Grep
itu sendiri tidak dapat mengatasinya - alat DFA-setara apa pun hanya dapat menangani kecocokan non rekursif, dan milik saya mungkin bersifat rekursif.
Saya sudah mencoba xgrep , tetapi sangat tidak stabil, dan saya ingin alat yang stabil dan dapat diandalkan.
Ada rekomendasi?
EDIT: Saya lebih suka alat open source yang bekerja dengan baik di Linux.
sumber
The XPath sintaks dalam berbagai bahasa yang terbaik untuk menemukan hal-hal di xml. Bahkan salah satu alat yang direkomendasikan oleh pembuat xgrep pada dasarnya adalah parser XML Perl yang menerima input XPath.
sumber
Alat yang bekerja di Linux adalah xml_grep . Ini sepenuhnya memahami XML dan bukan alat baris demi baris.
xml_grep disertakan sebagai alat yang berdiri sendiri dalam paket XML :: Twig . Fungsionalitas grepping cukup kuat karena mendukung spesifikasi XPath .
Contoh baris perintah (mengekstraksi tulisan yang diedit setelah pertengahan Februari dari Dump Data triologi ):
Instalasi mudah. Antara
sudo cpan -i "XML::Twig"
, seperti yang dijelaskan dalam buku masak xml_grep yang dirujuk di bawah ini.atau
Unduh http://xmltwig.org/xmltwig/XML-Twig-3.34.tar.gz atau http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar .gz . Misalnya
wget http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar.gz
Ekstrak:
gunzip XML-Twig-3.34.tar.gz; tar -xvf XML-Twig-3.34.tar
Pergi ke folder:
cd XML-Twig-3.34
Install:
perl Makefile.PL -y
. Lalumake
,make test
dansudo make install
.Informasi lebih lanjut:
Pengantar terbaik yang saya temukan untuk xml_grep adalah buku masak xml_grep , sekitar dua halaman. Lain:
sumber
XMLSpy adalah alat yang luar biasa, jika sedikit boros.
sumber
Saya menyarankan TIDAK untuk menggunakan alat seperti grep pada XML, tetapi gunakan perpustakaan untuk mengurai XML sebagai gantinya.
Untuk apa sebenarnya Anda membutuhkannya? Ada bahasa pemrograman? Saya pikir parser XML. NET built-in akan cocok dengan pekerjaan dengan mudah jika Anda bersedia untuk menulis sebuah program untuk itu.
Pembaruan : untuk Linux, parser XML library yang terkenal adalah libxml2 .
sumber