Chapter 6. XML
XML is another very common data format used with APIs, and should feel familiar to us as developers. Anyone who has spent much time with the Web will understand the “pointy brackets” style of XML and will be able to read it. XML is a rather verbose format; the additional punctuation and scope for attributes, character data, and nested tags can make for a slightly bigger data size than other formats.
XML has many more features than JSON, and can represent a great many more things. You’ll see more of this in Chapter 7, where complex data types and namespaces will come into play. XML doesn’t have to be complicated; simple data can also be easily represented, just as it is with JSON. Consider our shopping list again:
- eggs
- bread
- milk
- bananas
- bacon
- cheese
The XML representation of this list would be:
<?xml version="1.0"?>
<list>
<item>
eggs</item>
<item>
bread</item>
<item>
milk</item>
<item>
bananas</item>
<item>
bacon</item>
<item>
cheese</item>
</list>
Working with XML in PHP isn’t as easy as working with JSON. To produce the previous example, the code in Example 6-1 was used.
<?
php
$list
=
array
(
"eggs"
,
"bread"
,
"milk"
,
"bananas"
,
"bacon"
,
"cheese"
);
$xml
=
new
SimpleXMLElement
(
"<list />"
);
foreach
(
$list
as
$item
)
{
$xml
->
addChild
(
"item"
,
$item
);
}
// for nice output
$dom
=
dom_import_simplexml
(
$xml
)
->
ownerDocument
;
$dom
->
formatOutput
=
true
;
echo
$dom
->
saveXML
();
The starting point is the array that will be our list, then a SimpleXMLElement ...
Get PHP Web Services now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.