<?php
$doc = new DOMDocument();
$doc->load('aaaa.xml'); //读取xml文件$humans = $doc->getElementsByTagName_r( "humans" ); //取得humans标签的对象数组foreach( $humans as $human )
{
$names = $human->getElementsByTagName_r( "name" ); //取得name的标签的对象数组
$name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name>$sexs = $human->getElementsByTagName_r( "sex" );
$sex = $sexs->item(0)->nodeValue;$olds = $human->getElementsByTagName_r( "old" );
$old = $olds->item(0)->nodeValue;echo "$name - $sex - $old\n";}
?>
<?xml version="1.0" encoding="utf-8"?><humans>
<zhangying>
<name>张映</name>
<sex>男</sex>
<old>28</old>
</zhangying>
<tank>
<name>tank</name>
<sex>男</sex>
<old>28</old>
</tank>
</humans>
<link rel="stylesheet" type="text/css" href="ErrorPageTemplate.css" > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>HTTP 500 내부 서버 오류</title> <script src="errorPageStrings.js" language="javascript" type="text/javascript">
</script>
<script src="httpErrorPagesScripts.js" language="javascript" type="text/javascript">
</script>
</head> <body onLoad="javascript:expandCollapse('infoBlockID', true); initGoBack(); navCancelInit(); initMoreInfo('infoBlockID');"> <table width="730" cellpadding="0" cellspacing="0" border="0"> <!-- Error title -->
<tr>
<td id="infoIconAlign" width="60" align="left" valign="top" rowspan="2">
<img src="info_48.png" id="infoIcon" alt="정보 아이콘">
</td>
<td id="mainTitleAlign" valign="middle" align="left" width="*">
<h1 id="mainTitle">웹 사이트에서 페이지를 표시할 수 없습니다.</h1>
</td>
</tr> <tr>
<!-- This row is for HTTP status code, as well as the divider-->
<td id="http500Align" class="errorCodeAndDivider" align="right"><ID id="http500"> HTTP 500</ID>
<div class="divider"></div>
</td>
</tr>
<!-- Error Body -->
<tr>
<td>
</td>
<td id="likelyCausesAlign" valign="top" align="left">
<h3 id="likelyCauses">가능성이 높은 원인:</h3>
<ul>
<li id="causeSiteMaintenance">웹 사이트는 유지 관리 중입니다.</li>
<li id="causeSiteError">웹 사이트에 프로그래밍 오류가 있습니다.</li>
</ul>
</td>
</tr> <!-- What you can do -->
<tr>
<td>
</td>
<td id="whatToTryAlign" valign="top" align="left">
<h2 id="whatToTry">가능한 해결 방법:</h2>
</td>
</tr> <!-- refresh page -->
<tr>
<td>
</td>
<td id="refreshPageAlign" align="left" valign="middle">
<h4>
<table>
<tr>
<td valign="top">
<img src="bullet.png" border="0" alt="" class="actionIcon">
</td>
<td valign="top">
<span id="navCancelContainer"></span><noscript id="refreshPage">페이지를 새로 고칩니다.</noscript>
</td>
</tr>
</table>
</h4>
</td>
</tr>
<!-- back to previous page -->
<tr>
<td >
</td>
<td id="goBackAlign" align="left" valign="middle">
<h4>
<table>
<tr>
<td valign="top">
<img src="bullet.png" border="0" alt="" class="actionIcon">
</td>
<td valign="top">
<span id="goBackContainer"></span><noscript id="goBack">이전 페이지로 돌아갑니다.</noscript>
</td>
</tr>
</table>
</h4>
</td>
</tr>
<!-- InfoBlock -->
<tr>
<td id="infoBlockAlign" align="right" valign="top">
</td>
<td id="moreInfoAlign" align="left" valign="center">
<h4>
<table>
<tr>
<td valign="top">
<a href="#" onclick="javascript:expandCollapse('infoBlockID', true); return false;"><img src="down.png" id="infoBlockIDImage" border="0" class="actionIcon" alt="추가 정보"></a>
</td>
<td valign="top">
<span id="moreInfoContainer"></span>
<noscript><ID id="moreInformation">추가 정보</ID></noscript>
</td>
</tr>
</table>
</h4> <div id="infoBlockID" class="infoBlock">
<p id="errorExplanation">이 오류(HTTP 500 내부 서버 오류)는 방문한 웹 사이트의 서버에 문제가 있어 웹 페이지가 표시되지 않음을 의미합니다.</p>
<p id="moreInfoSeeHelp">HTTP 오류에 대한 자세한 내용은 도움말을 참조하십시오.</p>
</div> </td>
</tr>
</table>
</body>
</html>
这个方法打哪来的?手册上可没有
$doc = new DOMDocument();
$doc->load('aaaa.xml'); //读取xml文件$humans = $doc->getElementsByTagName_r( "humans" ); //取得humans标签的对象数组foreach( $humans as $human )
{
$names = $human->getElementsByTagName( "name" ); //取得name的标签的对象数组
$name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name>$sexs = $human->getElementsByTagName( "sex" );
$sex = $sexs->item(0)->nodeValue;$olds = $human->getElementsByTagName( "old" );
$old = $olds->item(0)->nodeValue;echo "$name - $sex - $old\n";}
?>
去掉_r后程序运行正常, 显示
张映 - 男 - 28
如果使用foreach的本意是读取出
张映 - 男 - 28
tank - 男 - 28
那么需要重新设计下你的xml文档结构
foreach( $humans as $human ) $humans 只有一个