参见
<?php
/** 加载 domxml 扩展 **/
if(!extension_loaded("domxml"))
  dl("php_domxml.dll");/** 加载 iconv 扩展 **/
if(!extension_loaded("iconv"))
  dl("php_iconv.dll");echo "<pre>准  备\n\n";
echo "加载 domxml 扩展后可使用以下函数\n";
print_r(get_extension_funcs("domxml"));
echo "\n加载 iconv 扩展后可使用以下函数\n";
print_r(get_extension_funcs("iconv"));
/** 初始化 **/
$boardname = realpath("board.xml");if(! file_exists($boardname)) {
  $xmlstr = "<?xml version='1.0' encoding='GB2312'?><board><row></row></board>";
  $fp = fopen($boardname,"w");
  fwrite($fp,$xmlstr);
  fclose($fp);
  xml_insert($boardname,array(name=>"测试",content=>"简单的留言簿\n主要是演示domxml的应用\n用xml文件保存信息"));
}/** 连接xml文档 **/
function xml_connect($xmlfiale) {
  $doc = xmldocfile($xmlfiale);
  return xpath_new_context($doc);
}/** 插入数据 **/
function xml_insert($xmlfile,$xmlarray) {
  $doc = xmldocfile($xmlfile);
  $f = xpath_eval(xpath_new_context($doc), "//*/row");
  $root = $doc->root();
  $new = $root->new_child("row");
  $new->new_child("id",count($f->nodeset));
  $new->new_child("date",date("Y-m-d H:i:s"));
  foreach($xmlarray as $key=>$value) {
    $new->new_child($key,iconv("GB2312","UTF-8",$value));
  }
  $fp = fopen($xmlfile,"w");
  fwrite($fp,$doc->dumpmem());
  fclose($fp);
}/** 删除数据 **/
function xml_delete($xmlfile,$query) {
  $doc = xmldocfile($xmlfile);
  $f = xpath_eval(xpath_new_context($doc), "//*/row[$query]");
  if(count($f->nodeset)) {
    for($i=0;$i<count($f->nodeset);$i++)
      $f->nodeset[0]->unlink_node();
    $fp = fopen($xmlfile,"w");
    fwrite($fp,$doc->dumpmem());
    fclose($fp);
  }
}/** 执行查询 **/
function xml_query($conn,$query) {
  $found = xpath_eval($conn, $query);
  $result = $found->nodeset;
  krsort($result);
  if(count($result))
    return $result;
  return array();
}/** 返回查询 **/
function xml_fetch_row(&$result) {
  list($key,$value) = each($result);
  if(empty($value)) return 0;
  foreach($value->children() AS $node) {
    $v = $node->children();
    if($node->tagname)
      $ar[$node->tagname] = nl2br(iconv("UTF-8","GB2312",$v[0]->content));
  }
  return $ar;
}if($_POST['submit']) {
  xml_insert($boardname,array(name=>$_POST['name'],content=>$_POST['content']));
}
?><form action="" method=post>
姓名<input type=text name=name><input type=submit name=submit value=留言><br>
留言<br>
<textarea name=content cols=60 rows=4></textarea>
</form><?php
$conn = xml_connect($boardname);
$result = xml_query($conn, "//*/row[id>=0]");
echo "<table border=0 width=80% cellpadding=0 cellspacing=1 bgcolor=#d0d0d0 rules=rows>";
while($row = xml_fetch_row($result)) {
  echo "<tr bgcolor=#d0d0d0><td width=10%>编号:</td><td width=10%>$row[id]</td><td width=10%>来源:</td><td>$row[name]</td>";
  echo "<td align=right width=10%>时间:</td><td align=right width=10% nowrap>$row[date]</td></tr>\n";
  echo "<tr bgcolor=#eeeeee><td colspan=6>$row[content]</td></tr><tr bgcolor=#e0e0e0></tr>\n";
}
echo "</table>";
?>