0

私はこれに深刻な問題を抱えています。私がやろうとしているのは、XML内の特定のノードのすべてのコンテンツを「抽出」し、後で使用するためにこれらをPHP変数に変換することです。

これが私が使用している小さなサンプルXMLテストデータセットです。

<RECIPES>
<RECIPE>
<TI>Cinnamon Rolls</TI>
<IN>1/2 ea Sweet dough mixture</IN>
<IN>1/2 c Packed light brown sugar</IN>
<IN>1/2 c Pecans; chopped</IN>
<IN>1/2 c Dark seedless raisins</IN>
<IN>1 tsp Ground cinnamon</IN>
<IN>1/4 c Butter OR margarine; melted</IN>
<IN>Sugar Glaze (below opt)</IN>
<PR>Some Stuff.</PR>
</RECIPE>
<RECIPE>
<TI>SWEET BISCUITS</TI>
<IN>2 c Baking mix</IN>
<IN>2/3 c Milk</IN>
<IN>1/4 c Cinnamon Sugar</IN>
<IN>2 tb Butter</IN>
<PR>Some other stuff</PR>
</RECIPE>
<RECIPE>

(実際には約900個あります)私が達成したいのは、各ノードからデータを抽出し、それらを変数に変換することです。以下は私が最終的に望むものです。

$variable="Cinamon Rolls";
$variable2="Sweet Biscuits";

これを達成する方法はありますか?私が調査してきたことから、それはSimpleXMLと関係があると確信しています。内容を個別に出力することができましたが、保存方法がわかりません。

問題は解決 しました助けてくれてありがとうみんな、

 $obj = simplexml_load_string($xml);

    foreach($obj->RECIPE as $r) {
        $variable = (string)$r->TI;
        echo $variable; }

素晴らしい、どうもありがとう。私のお尻を保存しました。

4

2 に答える 2

1

SimpleXMLを使用する:

$obj = simplexml_load_string($xml);

foreach($obj->RECIPE as $r)
{
    $variable = (string)$r->TI;
    echo $variable;
} 

出力

シナモンロール
スウィートビスケット

コードパッドデモ

于 2012-12-07T10:45:42.290 に答える
1

配列で?

$xml = simplexml_load_file($file_location);
$array = array();

foreach ($xml->RECIPE as $recipe){
    $array[] = $recipe->TI
}
于 2012-12-07T10:47:49.010 に答える