echo "<hr><font color=red>"; 
echo "下面是通过findNodeByPath()函数,返回某一商品的信息"; 
echo "</font><hr>"; 
$obj = $dom->findNodeByPath("cat_food|goods_food11"); 
if(!is_object($obj)){ 
    echo "该商品不存在"; 
}else{ 
    $data = $obj->getValue(); 
    echo "<font color=red>商品名:".$data[name]."</font><br>"; 
    print_R($data); 
    print_R($obj->getAttribute()); 
}
echo "<hr><font color=red>"; 
echo "下面是通过setValue()函数,给商品\"food11\"添加属性, 然后显示添加后的结果"; 
echo "</font><hr>"; 
$obj = $dom->findNodeByPath("cat_food|goods_food11"); 
$obj->setValue("leaveword", array("value"=>"这个商品不错", "attrs"=>array("author"=>"hahawen", "date"=>date('Y-m-d')))); 
echo htmlspecialchars($dom->getSaveXml());
echo "<hr><font color=red>"; 
echo "下面是通过removeValue()/removeAttribute()函数,给商品\"food11\"改变和删除属性, 然后显示操作后的结果"; 
echo "</font><hr>"; 
$obj = $dom->findNodeByPath("cat_food|goods_food12"); 
$obj->setValue("name", "new food12"); 
$obj->removeValue("desc"); 
echo htmlspecialchars($dom->getSaveXml());
echo "<hr><font color=red>"; 
echo "下面是通过createNode()函数,添加商品, 然后显示添加后的结果"; 
echo "</font><hr>"; 
$obj = $dom->findNodeByPath("cat_food"); 
$newObj = $obj->createNode("goods", array("id"=>"food13")); 
$newObj->setValue("name", "food13"); 
$newObj->setValue("price", 100); 
echo htmlspecialchars($dom->getSaveXml());
echo "<hr><font color=red>"; 
echo "下面是通过removeNode()函数,删除商品, 然后显示删除后的结果"; 
echo "</font><hr>"; 
$obj = $dom->findNodeByPath("cat_food"); 
$obj->removeNode("goods_food12"); 
echo htmlspecialchars($dom->getSaveXml());
?> 
文件:SimpleDocumentParser.php
<?php 
/** 
 *================================================
 * 
 * @author     hahawen(大龄青年)  
 * @since      2004-12-04 
 * @copyright  Copyright (c) 2004, NxCoder Group 
 * 
 *================================================
 */ 
 /** 
 * class SimpleDocumentParser 
 * use SAX parse xml file, and build SimpleDocumentObject 
 * all this pachage's is work for xml file, and method is action as DOM. 
 * 
 * @package SmartWeb.common.xml 
 * @version 1.0 
 */ 
 class SimpleDocumentParser 
 {
private $domRootObject = null;
     private $currentNO = null; 
     private $currentName  = null; 
     private $currentValue = null; 
     private $currentAttribute = null;
     public 
     function getSimpleDocument() 
     { 
         return $this->domRootObject; 
     }
     public function parse($file) 
     { 
         $xmlParser = xml_parser_create(); 
         xml_parser_set_option($xmlParser,XML_OPTION_CASE_FOLDING, 
         0); 
         xml_parser_set_option($xmlParser,XML_OPTION_SKIP_WHITE, 1); 
         xml_parser_set_option($xmlParser, 
         XML_OPTION_TARGET_ENCODING, 'UTF-8'); 
         xml_set_object($xmlParser, $this);
         xml_set_element_handler($xmlParser, "startElement", "endElement"); 
         xml_set_character_data_handler($xmlParser, 
         "characterData");
if (!xml_parse($xmlParser, file_get_contents($file)))
         die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xmlParser)), 
         xml_get_current_line_number($xmlParser)));
xml_parser_free($xmlParser);
}
