总算搞出来了:
<html>
   <body>
      <script language="javascript">
       function f(d)
{
if(d==null)
return;
if(d.nodeType == 3)
{
document.writeln(d.text + "<br>");
}
else
{
if(d.nodeType == 2)
document.writeln(d.baseName + "<br>");
else
document.writeln(d.baseName + "<br>");
}
for(i=0;i<d.childNodes.length;i++)
{
f(d.childNodes[i]);
f(d.nextSibling);
}
}
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async=false;
xmlDoc.load("client.xml");
var newNode=xmlDoc.documentElement;
f(newNode);
      </script>
   </body>
</html>
可这么一写,for循环根本没用,去掉f(d.nextSibling);这一句就不行。怎么回事?