日期:2014-05-17  浏览次数:20371 次

XML解析失败?
XMLDATA:
<configuration>
<system.serviceModel>
  <client>
  <endpoint name="ClassRelationService"
  address="net.tcp://192.168.1.61:9003/class/"
  binding="netTcpBinding"
  contract="CiWong.Relation.WCFContract.IClassRelationManager"
  bindingConfiguration="NetTcpBinding_IClassRelationManager" />
  <endpoint name="shopEndpoint"
  address="net.tcp://192.168.1.61:9005/eshop/"
  binding="netTcpBinding"
  contract="CiWong.EShop.WCFService.Contract.IEShopContract"
  bindingConfiguration="NetTcpBinding_IEShopContract"/>
  </client>
</system.serviceModel>
</configuration>

解析代码:

<?php
$list=$doc->getElementsByTagName('system.serviceModel');
$list=$list->item(0);
$clients=$list->getElementsByTagName('client');
$clients=$clients->item(0);
foreach ($clients->attributes as $endpoints) {
$endattname=$endpoints->nodeName;
  $endattval=$endpoints->nodeValue;
echo "$endattname=$endattval"."<br>";
}
?>
echo出来没有任何内容。
请问怎么才能正常把endpoint里面的属性解析出来?

------解决方案--------------------
PHP code
$xml = simplexml_load_file("bb.xml");  
$result = $xml->xpath('/configuration/system.serviceModel/client/endpoint');
foreach($result as $r){
       foreach($r->attributes() as $k=>$v) echo "$k=>$v<br>";
}