【问题标题】:Parse a specific XML file with PHP and read it用 PHP 解析一个特定的 XML 文件并读取它
【发布时间】:2013-03-14 11:21:44
【问题描述】:

我想了解读取和解析这个“XML”文件的方式。我的代码正在处理另一个 XML 文件,无法理解我错在哪里。

<F24 ZId="0" ZdId="0" PlikXml="0" rP="0" DCal="20130314">
  <Kraje i="35">...</Kraje>
  <Mecze>
    <M MId="1049553" LId="28541" _LId="28537" OId="230" SId="5" KId="220" LNr="2" C0="1363226400" ML="1" HId="2590" GId="2975" W="" HN="Pérez Zeledón" GN="Puntarenas FC" HRC="" HRCi="0" GRC="" GRCi="0" Info="" S1="0-0" S2="0-0" MStan="1" OTv="" L="0" A="0" Ao="4"/>
  </Mecze>
</F24>

这就是XML文件的结构。我想从“Mecze->M”得到F24-&gt;Mecze-&gt;M{'GN'}; 或其他东西。

目前的代码。

<?php

$file = '...';
$rss = simplexml_load_file($file);

foreach ($rss->{'M'} as $OO) { 

        $ht = $OO->{'HN'};

        echo $ht;

}
?>

【问题讨论】:

  • 你能显示你当前使用的代码吗?

标签: php xml parsing object


【解决方案1】:

$rss = simplexml_load_string('<F24 ZId="0" ZdId="0" PlikXml="0" rP="0" DCal="20130314">
  <Kraje i="35">...</Kraje>
  <Mecze>
    <M MId="1049553" LId="28541" _LId="28537" OId="230" SId="5" KId="220" LNr="2" C0="1363226400" ML="1" HId="2590" GId="2975" W="" HN="Pérez Zeledón" GN="Puntarenas FC" HRC="" HRCi="0" GRC="" GRCi="0" Info="" S1="0-0" S2="0-0" MStan="1" OTv="" L="0" A="0" Ao="4"/>
  </Mecze>
</F24>');
foreach ($rss->Mecze->M as $OO) { 

        echo $OO['HN'];

}  

http://codepad.org/loNVfOew

【讨论】:

    【解决方案2】:

    根据演示数据的结构,您需要类似

    foreach ($rss->Mecze->M as $OO)

    或许

    foreach ($rss->xpath('Mecze/M') as $OO)
    

    【讨论】:

      【解决方案3】:

      您可以尝试 sax php http://www.php.net/manual/en/function.xml-set-object.php 并提取任何节点、属性或创建任何结构

      【讨论】:

        猜你喜欢
        • 2015-04-16
        • 2011-08-02
        • 1970-01-01
        • 2014-07-25
        • 1970-01-01
        • 2014-12-13
        • 1970-01-01
        • 2014-02-05
        • 1970-01-01
        相关资源
        最近更新 更多