simplexmlelement对象未列出所有子项

时间:2018-08-24 09:44:33

标签: php xml simplexml

我有这个xml文件:

<?xml version="1.0" encoding="utf-8" ?>
  <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
    <item>
      <!-- Basic Product Information -->
      <g:id><![CDATA[FSK10]]></g:id>
      <title><![CDATA[title]]></title>
      <description><![CDATA[desc]]></description>
      <g:product_type><![CDATA[Default Category]]></g:product_type>
      <g:product_type><![CDATA[Default Category > Cat1]]></g:product_type>
      <g:product_type><![CDATA[Default Category > Cat1 > Cat2]]></g:product_type>
      <link><![CDATA[https://www.link.com]]></link>
      <g:image_link><![CDATA[https://www.link.com/media/image.jpg]]></g:image_link>
      <g:condition><![CDATA[new]]></g:condition>
      <g:availability><![CDATA[in stock]]></g:availability>
      <g:quantita><![CDATA[9]]></g:quantita>
      <g:price><![CDATA[68.50EUR]]></g:price>
      <g:brand><![CDATA[FISKARS]]></g:brand>
      <g:ean><![CDATA[6411501967701]]></g:ean>
      <g:mpn><![CDATA[FSK10]]></g:mpn>
      <g:identifier_exists><![CDATA[TRUE]]></g:identifier_exists>
      <g:shipping_weight><![CDATA[1.70kg]]></g:shipping_weight>
    </item>
 </rss>

当我在php中调用SimplexmlElement时,它没有列出所有子项,它缺少名称空间为g:的标签:

  $xml = simplexml_load_string( $data ); 
  $attributes = $item->children();  //get the rss
  echo htmlentities( $xml->asXML() ) . '<br />';
  foreach ( $attributes as $attr ) {
    echo "$attr<br />";
  }

如何列出所有标签?

1 个答案:

答案 0 :(得分:1)

作为@ splash58注释:您可以将`$('#MyForm input').blur(function() { if( !$(this).val() && $(this).val() != "" ) { $(this).parents('p').addClass('warning'); } });` 命令与命名空间一起使用(并将true设置为prefix)。

代码:

children

可以找到完整的文档PHP Manual