2017-01-03 6 views
1

ダイナミックXML要素を作成する必要があり、バリュータグでほぼ完成しましたが、まだXMLの名前タグに問題があります。ダイナミックXML要素を作成する

<?php  
    foreach ($shot as $shotx){ 
     $metadata=$xml->createElement("metadata"); 
     $clip->appendChild($metadata); 
     $name=$xml->createElement("name","shotL"); 
     $metadata->appendChild($name); 
     $value=$xml->createElement("value",$shotx); 
     $metadata->appendChild($value); 
    ?> 

上記のコードの出力は、名前タグではなく予想通りです。その電流出力は以下の書かれている:基本的に名前タグも同様に増分値が含まれている必要があり

<metadata> <name>**shotL**</name> <value>value1</value></metadata> 

<metadata> <name>**shotL.1**</name> <value>value2</value> </metadata> 

<metadata> <name>**shotL.2**</name> <value>value3</value> </metadata> 

<metadata> <name>**shotL.3<**/name> <value>value4</value> </metadata> 

<metadata> <name>**shotL.4**</name> <value>value5</value> </metadata> 

<metadata> <name>shotL</name> <value>value1</value></metadata> 

<metadata> <name>shotL</name> <value>value2</value> </metadata> 

<metadata> <name>shotL</name> <value>value3</value> </metadata> 

<metadata> <name>shotL</name> <value>value4</value> </metadata> 

<metadata> <name>shotL</name> <value>value5</value> </metadata> 

は、私はまた、以下のような名前のタグで動的な値を持っている必要があります

shotL 
shotL.1 
shotL.2 
shotL.3 
shotL.4 

お願いします。ありがとうございます。

+0

要素インデックスを追跡できるように、 'foreach'の代わりにプレーン' for'を使用してください。 – har07

+0

ループ状態の終わりを無理なく処理する方法を教えてください。 $ shot変数には動的な値があります。 – kunal

+0

'count($ shot)' – har07

答えて

0

私はこの問題を解決するためにこのコードを使用しました。@ har07 Idea'sに感謝します。

<?php  
$endshotc = count($shot); 
for ($i=0; $i < $endshotc; $i++){ 
     metadata=$xml->createElement("metadata"); 
     $clip->appendChild($metadata); 
     $name=$xml->createElement("name","shotL".$i); 
     $metadata->appendChild($name); 
     $value=$xml->createElement("value",$shotx[$i]); 
     $metadata->appendChild($value); 
} 
    ?> 

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

関連する問題