2013-03-08 2 views
2

이 주제에 대한 수많은 게시물을 검토하고 코드를 조정하려고 시도했지만 작동하지 않는 것처럼 보였습니다. 도움을 주시면 대단히 감사하겠습니다.XML 노드 값을 변경하는 방법은 무엇입니까?

cen_inst_units_z_name 값을 어떻게 업데이트합니까?

XML

<?xml version="1.0" encoding="UTF-8" ?> 
<xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"> 
    <form1> 
      <cen_inst_units_z_name>Department of School</cen_inst_units_z_name> 
    </form1> 
</xfa:data> 

PHP

<?php 
    $doc = new DOMDocument(); 
    $doc->load('52500_data.xml'); 
    $xpath = new DOMXPath($doc); 

    $parent = $doc->getElementsByTagName('form1')->item(0); 
    $query = $xpath->query('cen_inst_units_z_name',$parent); 

    //Checked to make sure I was pulling the correct node 
    echo $query->item(0)->textContent; 

    $query->item(0)->nodeValue = 'Test123'; 
    $doc->saveXML(); 
?> 
+0

내가 당신을 생각을 네임 스페이스를 처리해야합니까? – michi

+0

코드가 작동합니다. http://eval.in/private/a641a2ada98318 - 적어도 저에게는 있습니다. 특정 PHP/libxml 버전을 사용하고 있습니까? – hakre

+0

대신 새 문서로 저장했습니다. 당신의 코드는 저에게 아이디어를주었습니다, 감사합니다! –

답변

3

나는 새 문서를 저장하는 코드를 변경하고 내가 찾던 결과를 얻었다 :

$doc->save("newdoc.xml"); 
관련 문제