-1

我有这个 xml,但我找不到用 PHP 读取所有这些数据的方法。我尝试了简单的方法:

$xmlDoc->load("data/xml/page.xml");

与所有其他人一样,但以某种方式或另一种方式,我找不到读取画廊名称(在此 xml 中)和图像的 url/属性的方法

<DOCUMENT>  <galleries_group>
<GROUP id="main_gallery_group">
  <DATA id="category_name">
    <CONTENT><![CDATA[Black & White]]></CONTENT>
  </DATA>
  <GROUP id="sub_gallery_group">
    <DATA id="gallery_name">
      <CONTENT><![CDATA[WOMENS]]></CONTENT>
    </DATA>
    <GROUP id="sub_gallery_image">
      <DATA id="gallery_thumb">
        <CONTENT>
          <SRC width="277" height="366">images/black_white/005_th.jpg</SRC>
        </CONTENT>
      </DATA>
      <DATA id="gallery_image">
        <CONTENT>
          <SRC width="817" height="1080">images/black_white/005.jpg</SRC>
        </CONTENT> </DATA>
    </GROUP>
    <GROUP id="sub_gallery_image">
      <DATA id="gallery_thumb">
        <CONTENT>
          <SRC width="515" height="366">images/black_white/006_th.jpg</SRC>
        </CONTENT>
      </DATA>
      <DATA id="gallery_image">
        <CONTENT>
          <SRC width="1521" height="1080">images/black_white/006.jpg</SRC>
        </CONTENT>
      </DATA>
    </GROUP>
  </GROUP><GROUP id="main_gallery_group">
  <DATA id="category_name">
    <CONTENT><![CDATA[Gallery ..n]]></CONTENT>
  </DATA>
  <GROUP id="sub_gallery_group">
    <DATA id="gallery_name">
      <CONTENT><![CDATA[GROUP 1]]></CONTENT>
    </DATA>
    <GROUP id="sub_gallery_image">
      <DATA id="gallery_thumb">
        <CONTENT>
          <SRC width="484" height="366">images/gallery/01_th.jpg</SRC>
        </CONTENT>
      </DATA>
      <DATA id="gallery_image">
        <CONTENT>
          <SRC width="1429" height="1080">images/gallery/01.jpg</SRC>
        </CONTENT>
      </DATA>
    </GROUP> 
    <GROUP id="sub_gallery_image">
      <DATA id="gallery_thumb">
        <CONTENT>
          <SRC width="399" height="366">images/gallery/02_th.jpg</SRC>
        </CONTENT>
      </DATA>
      <DATA id="gallery_image">
        <CONTENT>
          <SRC width="981" height="900">images/gallery/02.jpg</SRC>
        </CONTENT>
      </DATA>
    </GROUP>
    </GROUP>
  <GROUP id="sub_gallery_group">
    <DATA id="gallery_name">
      <CONTENT><![CDATA[GROUP N]]></CONTENT>
    </DATA><GROUP id="sub_gallery_image">
      <DATA id="gallery_thumb">
        <CONTENT>
          <SRC width="483" height="366">images/gallery/09_th.jpg</SRC>
        </CONTENT>
      </DATA>
      <DATA id="gallery_image">
        <CONTENT>
          <SRC width="1065" height="600">images/gallery/09.jpg</SRC>
        </CONTENT>
      </DATA>
    </GROUP>
    <GROUP id="sub_gallery_image">
      <DATA id="gallery_thumb">
        <CONTENT>
          <SRC width="235" height="366">images/gallery/10_th.jpg</SRC>
        </CONTENT>
      </DATA>
      <DATA id="gallery_image">
        <CONTENT>
          <SRC width="1920" height="1080">images/gallery/10.jpg</SRC>
        </CONTENT>
      </DATA>
    </GROUP>
   </GROUP> 
  </GROUP>     
</GROUP>   <GROUP id="text_pages_group">
<GROUP id="text_page_group">
  <DATA id="text_page_name">
    <CONTENT><![CDATA[About]]></CONTENT>
  </DATA>
  <DATA id="text_page_text">
    <CONTENT><![CDATA[text12]]></CONTENT>
  </DATA>
</GROUP></GROUP><GROUP id="text_pages_group"><GROUP id="text_page_group">
  <DATA id="text_page_name">
    <CONTENT><![CDATA[Contact]]></CONTENT>
  </DATA>
  <DATA id="text_page_text">
    <CONTENT><![CDATA[text22]]></CONTENT>
  </DATA>
</GROUP></GROUP></DOCUMENT>

当然这是一个小 xml(仅作为示例),但完整的具有相同的格式类型,有什么帮助吗?

4

1 回答 1

0

您可能想尝试这样的事情并根据您的需要调整 XPath。

<?php
$xmlDoc = simplexml_load_file('data/xml/page.xml');
$result = $xmlDoc->xpath('/DOCUMENT//GROUP/DATA/CONTENT');
while (list(, $node) = each($result)) {
    echo $node;
}
?>

但请注意,因为您最初发布的 XML 格式不正确。<galleries_group>在第 1 行中,要么没有正确关闭,要么完全可有可无。

于 2013-06-27T18:46:36.703 回答