Perl-users.jp

XML のパーズ・作成

XML のパーズ・作成には、XML::LibXML がオススメでしょう。高速で安定して動作します。 XS を利用できる環境ならば、これがベストの選択肢です。

作成する

use strict;
use warnings;
use XML::LibXML;

my $dom = XML::LibXML::Document->new(1.0, 'utf-8');
my $root = $dom->createElement('html');
my $head = $dom->createElement('head');
my $title = $dom->createElement('title');
$title->appendText("test");
$head->appendChild($title);
$root->appendChild($head);
$dom->setDocumentElement($root);
print $dom->toString();

のようなプログラムを書いた場合の出力は

<?xml version="1.0" encoding="utf-8"?>
<html><head><title>test</title></head></html>

のようになります。

XML::LibXML は、DOM API をつかえるので JS などで DOM 操作に慣れている方でしたら容易に使い こなすことができることでしょう。

parse

use strict;
use warnings;
use XML::LibXML;

my $xml = <<'...';
<?xml version="1.0" encoding="utf-8"?>
<html><head><title>test</title></head></html>
...

my $doc = XML::LibXML->new->parse_string($xml);
my ($title, ) = $doc->getElementsByTagName('title');

このように、DOM で XML を操作できます。


目次へ

Last modified: $Date: 2008-05-22T09:21:23.154313Z $