[PHP-users 31203] Re: DomDocument->dump_file について

ucb.rcdtokyo ucb.rcdtokyo @ gmail.com
2007年 1月 4日 (木) 15:17:32 JST


> さらに、スクリプトそのものとしてはUTF-8で動かさないとエラーになるようでした。

domxmlの各メソッドのパラメータに使用する日本語文字列はUTFでないと怒られますが、とは言え、mbstringなどで事前に文字エンコを変換すれば良いわけで、"スクリプトの文字エンコーディング"は必ずしもUTFである必要はありません。
また、データ/ファイルをopen_mem/open_fileに食わせる際は、iconvが利用可能でXML宣言部にencodingが指定されてれば、データ/ファイルの文字エンコはShift_JISでもEUC-JPでも構いません。

> ちなみにこのクラスは5.0では実装されていないのでしょうか?

マニュアルにある通り、PHP5ではdomxml関数は廃され、DOM標準にAPIを準拠させたdom関数に置き換えられていますが、さらにPHP5では、DOMに似た、より簡便なSimpleXMLも利用できるようになりました。

また、本家マニュアルのUser Contributed
Notesでも紹介されていますが、同じスクリプトを、PHP4/domxmlとPHP5/domでサクっと動作させたいというニーズには、以下のラッパークラスが利用できます。
http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/

> 他にもXML関連の関数などがあるようですが
> 使い勝手など情報おありでしたらお教えいただけるとありがたいです。

XMLを処理するPHPの標準APIにはSAX(expat)とDOM(dom/domxml)、及びPHP5のSimpleXMLがあり、使い勝手ではなく、用途に応じて選択肢が異なります。

これらの比較説明は、以下の廣川さん記事でどうぞ。
http://www.thinkit.co.jp/free/marugoto/1/5/1/1.html
http://www.thinkit.co.jp/free/marugoto/1/5/2/1.html
http://www.thinkit.co.jp/free/marugoto/1/5/3/1.html

また、PEARやphpclasses.orgなどに、特定の用途に特化したクラスライブラリがいろいろ転がってますから、目的に合致したものがみつかるかもしれませんよ。

-- 
(It's always) Under Construction, Baby
http://www.rcdtokyo.com/ucb/


PHP-users メーリングリストの案内