1

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

1

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 . "\n";
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.