-3

私はこのxmlドキュメントを持っていて、名前を知っているので、IDを取得したい:

<?xml version="1.0" encoding="UTF-8"?>
 <menu defaultLang="ro" lastId="38">
   <item>
     <id>1</id>
     <active>1</active>
     <name>
       <ro>Categories</ro>
     </name>
     <path>
       <ro>categories</ro>
     </path>
     <children>
       <item>
         <id>23</id>
         <active>1</active>
         <name>
           <ro>Proteins</ro>
         </name>
         <path>
           <ro>proteins-masa</ro>
         </path>
         <children></children>
         <image>Imag1.png</image>
       </item>
       <item>
         <id>38</id>
         <active>1</active>
         <name>
           <ro>Promotii</ro>
         </name>
         <path>
           <ro>promotii</ro>
         </path>
         <children></children>
         <image>promotions.png</image>
       </item>
    </children>
  </item>
</menu>

xml ファイルの操作方法がわからないので、このドキュメントから name=Promotii のアイテムの ID を返す php 関数の例が必要です。もちろん、元のファイルにはもっと項目がありますが、ここが私が興味を持っている部分です。私のファイルは menu.xml と呼ばれます。

ありがとうございました!

4

1 に答える 1

0

以下で試してみてください。しかしx3ro、正しいです。何としても努力を見せなければならない。

<?php
$items = simplexml_load_file("filename.xml");
if(count($items)){
    $result = $items->xpath("//name[ro='Promotii']/preceding-sibling::id");
    //echo "<pre>";print_r($result);die;
    foreach ($result as $entry)
    {
        echo "<b>id</b>:".$entry;
        echo "<hr>";
    }
}
于 2013-05-29T11:55:46.407 に答える