仅输出特定节点PHP XML

Im trying to save a specific node instead of the full xml file, but I get error.

Catchable fatal error: Argument 1 passed to DOMDocument::saveXML() must be an instance of DOMNode, instance of DOMNodeList given in php\corrdination.php on line 31

I'm following the doom documentation but since I don't create new element and only read from an already created xml file, it wont work with creating new elements.

My line 31 is

$resultX = $xpath->query('/stickers/sticker[id="200"]/position/x'); 

And when im trying to save only the changed node i write.

echo $xml->saveXML($resultX);

Any suggestion on how to do it ? This is my whole php file.

    $xml = new DOMDocument();
    $xml->formatOutput = TRUE;
    $xml->preserveWhiteSpace = FALSE; 
    $xml->load('../stickers.xml');

    $xpath = new DOMXPath($xml);
    $resultX = $xpath->query('/stickers/sticker[id="200"]/position/x'); 
    $resultX->item(0)->nodeValue = "150"; 
echo $xml->saveXML($resultX);

If I only echo $xml->saveXML(); The query works but as I said, it saves the whole node structure.

XML file:

<stickers>
  <sticker>
    <position>
      <x>0</x>
    </position>
    <text>Hello world </text>
    <id>200</id>
  </sticker>
 </stickers>

Thanks

The error says you have to pass DOMNode to DOMDocument::saveXML(). So you need to change this line:

echo $xml->saveXML($resultX);

to this:

echo $xml->saveXML($resultX->item(0));