[PHP-users 22427]Re: xinclude について

Makoto Banba banban @ chuo-gr.co.jp
2004年 6月 29日 (火) 10:20:08 JST


番場です。(自己レス)

PHP はじめて間もないのですが、DomDocument->xinclude()
は試験的な実装で、操作しないのでしょうか?

結局うまく動かすことができなかったので、下記のような複写
関数を自作しました。cdata セクションを処理していないので、
まだ未完成です。

若干パフォーマンスが気になるところですが、しばらくはこれで
行こうと思います。

他に良い方法がございましたら、お教えください。

function copy_tree($dnode,$snode) {

  switch ($snode->node_type()) {
  case XML_ELEMENT_NODE:
    $eleme = $dnode->new_child($snode->node_name(),'');
    $child = $snode->first_child();
    while ($child) {
      copy_tree($eleme,$child);
      $child = $child->next_sibling();
    }
    foreach ($snode->attributes() as $i => $attri) {
      $eleme->set_attribute($attri->name(),$attri->value());
    }
    break;
  case XML_TEXT_NODE:
    $dnode->set_content($snode->node_value());
    break;
  case XML_CDATA_SECTION_NODE:
  }

}

--
 番場


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