How can i get values inside <![CDATA[values]] > using php DOM.
This is few code from my xml.
<Destinations>
<Destination>
<![CDATA[Aghia Paraskevi, Skiatos, Greece]]>
<CountryCode>GR</CountryCode>
</Destination>
<Destination>
<![CDATA[Amettla, Spain]]>
<CountryCode>ES</CountryCode>
</Destination>
<Destination>
<![CDATA[Amoliani, Greece]]>
<CountryCode>GR</CountryCode>
</Destination>
<Destination>
<![CDATA[Boblingen, Germany]]>
<CountryCode>DE</CountryCode>
</Destination>
</Destinations>
Working with PHP DOM is fairly straightforward, and is very similar to Javascript’s DOM.
Here are the important classes:
There are a few staple methods and properties:
DOMDocument->load()— After creating a newDOMDocument, use this method on that object to load from a file.DOMDocument->getElementsByTagName()— this method returns a node list of all elements in the document with the given tag name. Then you can iterate (foreach) on this list.DOMNode->childNodes— A node list of all children of a node. (Remember, a CDATA section is a node!)DOMNode->nodeType— Get the type of a node. CDATA nodes have type XML_CDATA_SECTION_NODE, which is a constant with the value 4.DOMNode->textContent— get the text content of any node.Note: Your CDATA sections are malformed. I don’t know why there is an extra
]]in the first one, or an unclosed CDATA section at the end of the line, but I think it should simply be:Putting this all together we:
Destinationelements by tag name and iterate over the listDestinationelementXML_CDATA_SECTION_NODEechothetextContentof that node.Code:
Result: