douxie2007 2012-01-27 14:24
浏览 70
已采纳

如何用PHP解析XML? [重复]

This question already has an answer here:

I'm trying to parse out the XML below with the PHP code shown here but I end up getting a blank screen when it runs. I've been looking around on stackoverflow for similar questions and other similar responses but I still can't get it to work.

    <?php
    $url = 'xml-file.xml';
    $xml = simplexml_load_file($url);

    // get first book title
    $title=$xml->entry[0]->name;
    // show title
    echo $title;
    echo '<br/>';
    // get second book title
    $title=$xml->entry[1]->name;
    // show title
    echo $title;
    echo '<br/>';
    ?>

Here is the XML:

   <?xml version="1.0" encoding="UTF-8"?>
    <feed gd:kind="shopping#products" gd:etag="&quot;lm_25heFT8yiumci9EH1kItJBpg/bXZf0ylJ3aJceGcE1I8C1fJbzgo&quot;" xmlns="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:s="http://www.google.com/shopping/api/schemas/2010">
     <id>tag:google.com,2010:shopping/products</id>
     <updated>2012-01-27T13:41:20.177Z</updated>
     <title>Shopping Products</title>
     <generator version="v1" uri="https://www.googleapis.com/shopping/search/">Search API for Shopping</generator>
     <link rel="alternate" type="text/html" href="https://www.googleapis.com/shopping/search/"/>
     <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://www.googleapis.com/shopping/search/v1/public/products?alt=atom"/>
     <link rel="self" type="application/atom+xml" href="https://www.googleapis.com/shopping/search/v1/public/products?country=US&amp;q=digital+camera&amp;alt=atom&amp;startIndex=1&amp;maxResults=25"/>
     <link rel="next" type="application/atom+xml" href="https://www.googleapis.com/shopping/search/v1/public/products?country=US&amp;q=digital+camera&amp;alt=atom&amp;startIndex=26&amp;maxResults=25"/>
     <link rel="previous" type="application/atom+xml"/>
     <openSearch:totalResults>6446790</openSearch:totalResults>
     <openSearch:startIndex>1</openSearch:startIndex>
     <openSearch:itemsPerPage>25</openSearch:itemsPerPage>


    <entry gd:kind="shopping#product">>
      <id>tag:google.com,2010:shopping/products/2860562/9400569674928563633</id>
      <author>
       <name>Amazon.com</name>
      </author>
      <published>2010-08-19T05:50:21.000Z</published>
      <updated>2012-01-26T23:54:26.000Z</updated>
      <title>Canon powershot s95 10 mp digital camera with 3.8x wide angle optical image         stabilized zoom and 3.0-inch lcd</title>
      <content type="text">desc</content>
      <link rel="alternate" type="text/html" href="https://rads.stackoverflow.com/amzn/click/com/B003ZSHNGS" rel="nofollow noreferrer"/>
      <link rel="self" type="application/atom+xml" href="https://www.googleapis.com/shopping/search/v1/public/products/2860562/gid/9400569674928563633?alt=atom"/>
      <s:product>
       <s:googleId>9400569674928563633</s:googleId>
       <s:author>
        <s:name>Amazon.com</s:name>
        <s:accountId>2860562</s:accountId>
       </s:author>
       <s:creationTime>2010-08-19T05:50:21.000Z</s:creationTime>
       <s:modificationTime>2012-01-26T23:54:26.000Z</s:modificationTime>
       <s:country>US</s:country>
       <s:language>en</s:language>
       <s:title>Canon powershot s95 10 mp digital camera with 3.8x wide angle optical image stabilized zoom and 3.0-inch lcd</s:title>
       <s:description>desc</s:description>
       <s:link>http://www.amazon.com/Canon-PowerShot-S95-Stabilized-3-0-Inch/dp/B003ZSHNGS</s:link>
       <s:brand>Canon</s:brand>
       <s:condition>new</s:condition>
       <s:gtin>00013803126556</s:gtin>
       <s:gtins>
        <s:gtin>00013803126556</s:gtin>
       </s:gtins>
       <s:inventories>
        <s:inventory channel="online" availability="inStock">
         <s:price shipping="0.0" currency="USD">340.41</s:price>
        </s:inventory>
       </s:inventories>
       <s:images>
        <s:image link="http://ecx.images-amazon.com/images/I/519z3AjKzHL._SL500_AA300_.jpg"/>
       </s:images>
      </s:product>
     </entry>

     <entry gd:kind="shopping#product">
       <id>tag:google.com,2010:shopping/products/2860562/12997829348635087420</id>
       <author>
        <name>Amazon.com</name>
       </author>
       <published>2010-09-14T13:18:12.000Z</published>
       <updated>2012-01-26T23:07:30.000Z</updated>
       <title>Canon g12 10 mp digital camera with 5x optical image stabilized zoom and 2.8 inch vari-angle lcd</title>
       <content type="text">desc</content>
       <link rel="alternate" type="text/html" href="https://rads.stackoverflow.com/amzn/click/com/B0041RSPRS" rel="nofollow noreferrer"/>
       <link rel="self" type="application/atom+xml" href="https://www.googleapis.com/shopping/search/v1/public/products/2860562/gid/12997829348635087420?alt=atom"/>
       <s:product>
        <s:googleId>12997829348635087420</s:googleId>
        <s:author>
         <s:name>Amazon.com</s:name>
         <s:accountId>2860562</s:accountId>
        </s:author>
        <s:creationTime>2010-09-14T13:18:12.000Z</s:creationTime>
        <s:modificationTime>2012-01-26T23:07:30.000Z</s:modificationTime>
        <s:country>US</s:country>
        <s:language>en</s:language>
        <s:title>Canon g12 10 mp digital camera with 5x optical image stabilized zoom and 2.8 inch vari-angle lcd</s:title>
        <s:description>desc</s:description>
        <s:link>http://www.amazon.com/Canon-G12-Digital-Stabilized-Vari-         Angle/dp/B0041RSPRS</s:link>
        <s:brand>Canon</s:brand>
        <s:condition>new</s:condition>
        <s:gtin>00013803126815</s:gtin>
        <s:gtins>
         <s:gtin>00013803126815</s:gtin>
        </s:gtins>
        <s:inventories>
         <s:inventory channel="online" availability="inStock">
          <s:price shipping="0.0" currency="USD">395.95</s:price>
         </s:inventory>
        </s:inventories>
        <s:images>
         <s:image link="http://ecx.images-amazon.com/images/I/516mn5voF0L._SL500_AA300_.jpg"/>
        </s:images>
       </s:product>
      </entry>


     </feed>
</div>
  • 写回答

2条回答 默认 最新

  • dongwo5940 2012-01-27 14:28
    关注

    I don't see name in the XML at this location

    $title = $xml->entry[1]->name;
    

    I do see name at the author:

    $title = $xml->entry[1]->author->name;
    

    And I do see a title

    $title = $xml->entry[1]->title;
    

    Thats probably what you are looking for. Otherwise, do below, for debugging purposes to see how to access everything.

    echo '<pre>'; 
    print_r($xml->entry[1]);
    echo '</pre>';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分