1: <?php
2: if(file_exists("package.xml")){
3: $xml = simplexml_load_file("package.xml");
4: }
5: if($xml){
6: print_r($xml->components->component->componentTables->componentTable['name']);
7:
8: }
9: ?>
<package>
<components>
<component name="礼物首页" desc="" code="Form249" permissionCtrl="false" loginCtrl="false" id="f89e7df67bd34541bd89166ab74ffc8d">
<componentOutputs />
<componentTables>
<componentTable name="gift_user">
<componentFields>
<componentField name="fromUserId" />
<componentField name="sendWayName" />
<componentField name="id" />
<componentField name="cTime" />
<componentField name="giftPrice" />
<componentField name="fromUserName" />
<componentField name="giftImg" />
<componentField name="sendInfo" />
<componentField name="toUserId" />
<componentField name="MasterID" />
<componentField name="sendWay" />
</componentFields>
</componentTable>
<componentTableRelas />
</componentTables>
<componentVariants />
</components>
</package>
解析后可得出
SimpleXMLElement Object ( [0] => gift_user )
如果你想获取xml里面的CDATA数据,那么需要设置一下
<?php
$xml = simplexml_load_file("package.xml",'SimpleXMLElement',LIBXML_NOCDATA);
print_r($xml->components->component->propertys->property[4]);
?>
<propertys>
<property name="Name"><![CDATA[]]></property>
<property name="FormLoadAction"><![CDATA[<evaluate id="cf10d3be9d134c06aa3d870b7662ad1e" />]]></property>
<property name="OuterJoinTableName"><![CDATA[]]></property>
<property name="TableName"><![CDATA[]]></property>
<property name="OutputSettings">ssssss<![CDATA[]]></property>
<property name="ComponentVariantEditor"><![CDATA[]]></property>
<property name="Width"><![CDATA[960]]></property>
<property name="BackColor"><![CDATA[240,246,247]]></property>
<property name="FormCloseAction"><![CDATA[]]></property>
<property name="Padding"><![CDATA[0,0,0,0]]></property>
<property name="Height"><![CDATA[902]]></property>
<property name="OutputCondition"><![CDATA[]]></property>
</propertys>
这样的话就可以获取到
SimpleXMLElement Object ( [@attributes] => Array ( [name] => OutputSettings ) [0] => ssssss )
否则,你只能获取到attributes数据,而CDATA是被xml所隐藏的
SimpleXMLElement Object ( [@attributes] => Array ( [name] => OutputSettings ) )