2010-12-28 9 views
1
<?xml version="1.0" encoding="UTF-8"?> 
<root></root> 

이것은 내 xml 파일입니다. 태그 사이에 dom 메서드를 사용하여 데이터를 삽입하고 싶습니다. 저는 PHP와 Xml 기술의 초보자입니다. 나는이 파일을 성공적으로 만들고 읽었지만 PHP를 사용하여 데이터를 입력 할 수 없었다. 다음과 같이 작성을위한PHP를 사용하여 XML 파일에 데이터를 삽입하는 방법은 무엇입니까?

코드는 다음과 같습니다 - 읽기

$doc = new DOMDocument('1.0', 'UTF-8'); 
    $ele = $doc->createElement('root'); 
    $ele->nodeValue = $uvar; 
    $doc->appendChild($ele); 
    $test = $doc->save("$id.xml"); 

코드는 다음과 같다 : -

$xdoc = new DOMDocument(); 
    $xdoc->Load("$gid.xml"); 
    $candidate = $xdoc->getElementsByTagName('root')->item(0); 
    $newElement = $xdoc ->createElement('root'); 
    $txtNode = $xdoc ->createTextNode ($root); 
    $newElement -> appendChild($txtNode); 
    $candidate -> appendChild($newElement); 
    $msg = $candidate->nodeValue; 

누군가가 삽입 및 업데이트 함께 도움이 될 수 있습니다. 고맙습니다!

+0

질문을 좀 더 명확하게 해 줄 수 있습니까? 텍스트를 가져 와서 XML을 업데이트하거나 최종 XML 구조를 넣으십시오. – tkt986

답변

0

때때로 PHP + XML은 약간 불편할 수 있습니다. 내가 유용한 코드의 조각을 찾을 대부분의 시간 (상황에 약간의 재 작성) :

$array = array('anxmltag'=>'hello everybody','anothertag'=>'content','lasttag'=>'maybe'); 

$doc = new DOMDocument('1.0','UTF-8'); 
$root = $doc->createElement('root'); 
$doc->appendChild($root); 

foreach($array as $key=>$value) { 

    $root->appendChild($dom->createElement($key))->appendChild($dom->createTextNode($value)); 
} 

$doc->save("$id.xml"); 

당신은 두 번째 수준의 XML 태그를 작성하는이 코드를 확장 할 수 있습니다.

0

DOMDocument 클래스에 대한 경험이 없지만 대신 simpleXML 개체로 작업하는 것이 더 쉽습니다. 데리러 오는 것이 더 빠릅니다.

http://us.php.net/simplexml

할 수 있습니다 그럼 그냥

이와
$xml = new SimpleXMLElement('<root></root>'); 
$xml->addChild('test_node_name', 'value'); 
$xml->test_node_name = 'new_value'; 
echo $xml->test_node_name; 

같은 이름 당신이 그들을 반복, 또는 액세스 할 수 있도록 배열을 처리하는 것과 같은 방법이 여러 자식 요소를 치료 색인으로. 파일이나 문자열에서 simplexml 객체를 만들 수도 있습니다. 확인 해봐.

관련 문제