亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 使用 PHPSimpleXML 從 XML 獲取數據

PHP 使用 PHPSimpleXML 從 XML 獲取數據

PHP
浮云間 2023-08-19 17:42:08
我正在嘗試從 xml 文件獲取數據,但遇到了麻煩,因為該表的級別比我能找到的示例要多一些。我希望能夠迭代<Event>as的每個實例<Information>,并且<Events>僅打開和關閉數據。<Event>根據記錄的事件數量重復。表結構的示例是:<?xml version="1.0" encoding="utf-8" standalone="yes"?><Information>    <Events>        <Event>            <Time>3141.29</Time>            <PrimaryObject ID="487">                <Name>Player1</Name>                <Country>us</Country>            </PrimaryObject>            <Action>Move</Action>            <SecondaryObject ID="814">                <Name>Dog</Name>                <Parent>487</Parent>            </SecondaryObject>        </Event>    </Events></Information>PHP代碼是:<!DOCTYPE html><html><body><?php$xml=simplexml_load_file("data.xml") or die("Error: Cannot create object");foreach($xml->Event as $events) {    $id = $events->PrimaryObject->attributes();    $name = $events->PrimaryObject->Name;    ...    echo $id['ID'].' '. $name;    echo "<br>";  }?></body></html>
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

您必須使用事件


$xml->Events->Event as $events

例如


$xml=simplexml_load_file("data.xml") or die("Error: Cannot create object");


foreach($xml->Events->Event as $events) {

    $id = $events->PrimaryObject->attributes();

    $name = $events->PrimaryObject->Name;

    echo $id['ID'].' '. $name;

    echo "<br>";

}

輸出


487 Player1

PHP演示


查看完整回答
反對 回復 2023-08-19
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

我不確定您到底在尋找什么數據,但這里有所有內容,使用 xpath,您可以選擇:


$events = $xml->xpath('.//Event');

foreach($events as $event) {        

    $dat = $event->xpath('./PrimaryObject')[0];

    $time= $event->xpath('./Time');    

    $id = $dat->xpath('./@ID');

    $name = $dat->xpath('./Name');

    $country = $dat->xpath('./Country');

    

    $dat2 = $event->xpath('./SecondaryObject')[0];

    $action= $event->xpath('./Action');    

    $id2 = $dat2->xpath('./@ID');

    $name2 = $dat2->xpath('./Name');

    $parent = $dat2->xpath('./Parent');    

            

    echo 'Time: ' . $time[0];

    echo "<br>"; 

    echo 'Action: ' . $action[0];

    echo "<br>";    

    echo "<br>"; 

    echo 'Primary Object Data:';

    echo "<br>";    

    echo 'ID: ' . $id[0];

    echo "<br>";

    echo 'Name: ' . $name[0];

    echo "<br>";

    echo 'Country: ' . $country[0];

    echo "<br>";

    echo "<br>";   

    echo "<br>";

    echo 'Secondary Object Data:';

    echo "<br>";    

    echo 'ID: ' . $id2[0];

    echo "<br>";

    echo 'Name: ' . $name2[0];

    echo "<br>";

    echo 'Parent: ' . $parent[0];

    echo "<br>";         

  }

輸出:


Time: 3141.29

Action: Move


Primary Object Data:

ID: 487

Name: Player1

Country: us



Secondary Object Data:

ID: 814

Name: Dog

Parent: 487


查看完整回答
反對 回復 2023-08-19
  • 2 回答
  • 0 關注
  • 174 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號