- phpversion: documentation ( source)
<?php
$content = <<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<PersonList>
<Person>
<Name>Sonu Kapoor</Name>
<Age>24</Age>
<Gender>M</Gender>
<PostalCode>54879</PostalCode>
</Person>
<Person>
<Name>Jasmin</Name>
<Age>28</Age>
<Gender>M</Gender>
<PostalCode>78745</PostalCode>
</Person>
<Person>
<Name>Josef</Name>
<Age>232</Age>
<Gender>F</Gender>
<PostalCode>53454</PostalCode>
</Person>
</PersonList>
XML;
echo phpversion();
$doc = new DOMDocument();
$doc->loadXML($content);
$xp = new DOMXPath($doc);
$nodeList = $xp->query('/PersonList/Person[./Name="Jasmin"]/*');
for($i = 0; $i < $nodeList->length; $i++) {
$nodeName = $nodeList->item($i)->nodeName;
switch ($nodeName) {
case 'Age':
$nodeList->item($i)->nodeValue = 33;
break;
case 'Gender':
$nodeList->item($i)->nodeValue = 'F';
break;
}
}
$doc->formatOutput = true;
echo $doc->saveXML();