【问题标题】:create Dynamic XML elements php创建动态 XML 元素 php
【发布时间】:2017-01-03 20:34:28
【问题描述】:

我需要创建动态 XML 元素,并且我几乎已经为 Value 标签完成了,但我仍然对 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</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>

我还需要在名称标签中包含动态值,如下所示:

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

基本上名称标签还必须包含增量值,例如:

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

请帮助我,提前谢谢你。

【问题讨论】:

  • 使用普通的for 而不是foreach,这样您就可以跟踪元素索引
  • 如何使用普通 for 处理循环结束条件? $shot 变量具有动态值 a
  • 使用count($shot)

标签: php xml tags element


【解决方案1】:

所以我使用这个代码来解决我的问题,感谢@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); 
}
    ?>

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2020-06-15
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多