Zend Framework 1.6から追加されたZend_Domを使ってみました。
XPathだけではなく、CSSセレクタによるDOMドキュメントの問い合わせを行うことができます。

以下のような感じでドキュメントを読み込ませてみました。

結果は以下のとおりです。

getDocumentType()でドキュメントのタイプが取得できます。
ドキュメントのタイプは、Xml、html、xhtmlの3タイプで判別されます。判別の方法は以下のようになっています。

続いて、読み込んだドキュメントへの問い合わせをしてみます。

問い合わせの方法として、CSSセレクタの場合ははquery()メソッド、xpathの場合はqueryXpath()メソッドを使用します。

CSSセレクタ(query())の場合は、Zend_Dom_Query_Css2XpathクラスでCSSセレクタの表現をXPathに変換した後、queryXpath()の処理を行っています。

そして、queryXpath()メソッドはDOMXPathクラスのquery()メソッドを呼び出してドキュメントを解析しています。

Zend_Dom_Query_Resultオブジェクトが問い合わせの戻り値となります。
Zend_Dom_Query_ResultはIteratorとCountableを実装しているので、foeachでループさせたり、count()で要素数を取得できます。

結果は以下のようになります。

Zend_Dom_Query_Resultをforeachでループさせたときに取得できる値がDOMElementです。

DOMElementの扱い方がよくわからなかったので結構手間取ってしまいました。

One thought on “[Zend Framework]Zend_Domを使ってみた

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください