php解析XML相关

   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 ) )

转载于:https://www.cnblogs.com/jianjungki/archive/2013/03/08/2950921.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值