建立一个 data.xml 文件,内容:
<NewDataSet>
  <Login>
    <User_ID>001</User_ID>
    <User_Cname>用户1</User_Cname>
  </Login>
  <Login>
    <User_ID>009</User_ID>
    <User_Cname>用户2</User_Cname>
  </Login>
</NewDataSet>
---------------------------------------------------------------
PHP 代码:
<?php
$file = "data.xml";
$currentTag = "";
$user_id = "";
$user_cname = "";
$users = array();
function startElement($parser, $name, $attrs) {
global $currentTag;
     $currentTag = $name;
}
function endElement($parser, $name) {
     global $users, $user_id, $user_cname;
    
     if(strcmp($name, "LOGIN") == 0) {
     $user_id = trim("$user_id");
     $user_cname = trim("$user_cname");
    
     $users[] = array("USER_ID" => $user_id, "USER_CNAME" => $user_cname);
    
     $user_id = "";
     $user_cname = "";
     }
}
function characterData($parser, $data) {
global $currentTag, $user_id, $user_cname;

switch ($currentTag) {
case "USER_ID":
$user_id .= $data;
break;
case "USER_CNAME":
$user_cname .= $data;
break;
default :
}
}
function readUserInfo() {
global $file, $users;

$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");

if (!($fp = fopen($file, "r"))) {
     die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
     if (!xml_parse($xml_parser, $data, feof($fp))) {
         die(sprintf("XML error: %s at line %d",
                     xml_error_string(xml_get_error_code($xml_parser)),
                     xml_get_current_line_number($xml_parser)));
     }
}

xml_parser_free($xml_parser);
return $users;
}
function printUserInfo($user_id, $user_cname) {
print "<tr height='21'>";
print "<td>$user_id</td>";
print "<td>$user_cname</td>";
print "</tr>";
}
?>
<html>
<head>
<title>User Infomation</title>
</head>
<body>
<table border="1">
<tr height="21" align="center">
<td width="80" bgcolor="#EEEEEE">User ID</td>
<td width="100" bgcolor="#EEEEEE">User NAME</td>
</tr>
<?php
$users = readUserInfo();
$num_rows = count($users);
for($i = 0; $i < $num_rows; $i++) {
printUserInfo($users[$i]["USER_ID"], $users[$i]["USER_CNAME"]);
}
?>
</table>
</body>
</html>PHP 代码来自《PHP 高级编程》一书。