dsiftnc99059 2017-03-13 14:23
浏览 35
已采纳

循环遍历XML对象的字段值PHP

I have an XML that looks like this...

<fields>
  <field>
    <id>86</id>
    <source>system</source>
    <type>integer</type>
    <name>bounce_count</name>
    <label>Bounce count</label>
    <validation/>
    <store-locally>true</store-locally>
    <display-in-profile>false</display-in-profile>
    <include-in-export>false</include-in-export>
    <lma_display>false</lma_display>
    <newsletters></newsletters>
  </field>
</fields>

I need to loop in through the value of every tag inside <field>. I tried the following (result is the XML), first I got everything within the field tag...

$value = $result->field
$value = simplexml_load_string($value);

If I var_dump() this it looks as so...

object(SimpleXMLElement)#47 (11) { ["id"]=> string(3) "153" ["source"]=> string(6) "client" ["type"]=> string(6) "string" ["name"]=> string(4) "name" ["label"]=> string(4) "Name" ["validation"]=> object(SimpleXMLElement)#48 (0) { } ["store-locally"]=> string(4) "true" ["display-in-profile"]=> string(4) "true" ["include-in-export"]=> string(4) "true" ["lma_display"]=> string(4) "true" ["newsletters"]=> object(SimpleXMLElement)#46 (0) { } }

Next I try looping through the fields inside field

foreach ($value as $single_field) {
    echo $single_field;
}

But I get no output. If I var_dump() $single_field I get the same result as above. I need to loop through the values within each field. So for the XML above I need to store the following values...

86
system
integer
bounce_count
Bounce Count
true
false
false
false

How can I do this?

  • 写回答

1条回答 默认 最新

  • dongxuan1660 2017-03-13 14:34
    关注

    If you are trying to iterate over children of the element, you need to use SimpleXMLElement::children in your foreach loop:

    foreach ($value->children() as $single_field) {
        echo $single_field . "
    ";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色
  • ¥15 求一份华为esight平台V300R009C00SPC200这个型号的api接口文档
  • ¥15 字符串比较代码的漏洞
  • ¥15 欧拉系统opt目录空间使用100%
  • ¥15 ul做导航栏格式不对怎么改?