0

私はこれをXMLとして持っています:

...
<product>
<id>1</id>
<defaultImage>test.jpg</defaultImage>
</product>
...

私はこれをphpとして持っています:

$testcase = 'defaultimage';
$xml = simplexml_load_file('./temp/'.$i.'.xml');
foreach ($xml->children() as $child) {
    $child->$testcase;
}

今問題はこれです、私は$testcase小文字の形式(デフォルト画像)にすることを余儀なくされていますが、XMLファイルでは子の名前は次のとおりです:(defaultImage大文字のIに注意してください)

質問: すべての子を小文字として処理するにはどうすればよいですか?

4

1 に答える 1

0

このメソッドを使用して、内部配列->getName()をループしながらノードの名前を見つけることができます。->children()

productわかりやすくするために、外側のループにはすべてのノードでより明示的なループを使用しました

$testcase = 'defaultimage';
$xml = simplexml_load_file('./temp/'.$i.'.xml');
foreach ( $xml->product as $product )
{
   foreach ( $product->children as $child )
   {
      if ( strtolower($child->getName()) == $testcase )
      {
         // Do whatever it is you need to do with the <defaultImage> node
      }
   }
}
于 2012-11-12T23:11:03.457 に答える