0
전체 XML 파일 대신 특정 노드를 저장하려고하는데 오류가 발생합니다.특정 노드 만 출력 PHP XML
잡아낼 치명적인 오류 :있는 DOMDocument :: saveXML (에 전달 된 인수 1) 31
나는 운명 다음있어 DOMNode, 라인에서의 PHP \의 corrdination.php에 주어진 DOMNodeList의 인스턴스의 인스턴스 여야합니다 문서하지만 새 요소를 만들지 않고 이미 만든 xml 파일에서 읽기만하므로 새 요소를 만드는 작업을하지 않아도됩니다.
내 라인 (31)은
$resultX = $xpath->query('/stickers/sticker[id="200"]/position/x');
이다 그리고 메신저 내가 쓰기 만 변경된 노드를 저장하려고 할 때.
echo $xml->saveXML($resultX);
어떻게해야합니까? 이것은 내 전체 PHP 파일입니다. 난 단지 echo $xml->saveXML();
쿼리가 말했듯하지만 작동하는 경우
$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);
, 그것은 전체 노드 구조를 저장합니다.
XML 파일 :
<stickers>
<sticker>
<position>
<x>0</x>
</position>
<text>Hello world </text>
<id>200</id>
</sticker>
</stickers>
감사
오류는'있는 DOMDocument :: saveXML()'에'DOMNode'을 통과해야했다. 그래서'saveXML ($ resultX)'를'saveXML ($ resultX-> item (0))'으로 변경해야할까요? – lazyhammer
그랬 으면, 대답으로 쓸 수 있도록 받아 들여야합니다 :) 내 친구 고맙습니다. – Dymond