2017-01-03 1 views
1

Ich muss die dynamischen XML-Elemente erstellen, und ich habe es fast für das Value-Tag getan, aber ich habe immer noch ein Problem mit Name Tag in XML.Dynamische XML-Elemente erstellen php

Die Ausgabe des oben genannten Codes ist fast so, wie ich anstelle von Name Tag erwartet habe. so wird die aktuelle Ausgabe unten geschrieben:

<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> 

Ich mag auch unterhalb den dynamischen Wert im Namensschild haben muß:

<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> 

Grundsätzlich ist der Name Tag muss auch enthalten inkremental wie:

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

Bitte helfen Sie mir, ich danke Ihnen im Voraus.

+0

Verwenden Sie plain 'for' anstelle von' foreach', damit Sie den Elementindex verfolgen können – har07

+0

Wie gehe ich mit der End-of-Loop-Bedingung mit plain um? Die Variable $ shot hat dynamische Werte a – kunal

+0

Verwenden Sie 'count ($ shot)' – har07

Antwort

0

Also habe ich diesen Code verwendet, um mein Problem zu lösen und dank @ har07 Ideas.

<?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); 
} 
    ?> 

Vielen Dank für die Hilfe.