0
XML의 특정 위치 끝 부분에 데이터를 추가하려고합니다.PHP를 사용하여 XML의 특정 스팟 끝 부분에 자식 추가
내 XML은 훨씬 길지만, 예를 들어 데이터를 "삭제"섹션 끝에 추가하려고합니다. "Total Tickets"의 끝 부분에 다른 데이터를 추가 할 것입니다. 그러나 어떻게하면 첫 번째 자식의 끝에 데이터를 추가하는 방법을 알아낼 수 있는지, 나머지는 파악할 수 있습니다.
<report>
<sets>
<set>
<legend>Delete</legend>
<values>
<value date="2012-06-24" data="9"/>
<value date="2012-06-25" data="17"/>
<value date="2012-06-26" data="15"/>
<value date="2012-06-27" data="10"/>
<value date="2012-06-28" data="8"/>
</values>
</set>
<set>
<legend>Total Tickets</legend>
<values>
<value date="2012-06-24" data="412"/>
<value date="2012-06-25" data="416"/>
<value date="2012-06-26" data="423"/>
<value date="2012-06-27" data="405"/>
<value date="2012-06-28" data="280"/>
</values>
</set>
</sets>
</report>
다음은 결과를 확인하기 위해 작성한 테스트 스크립트입니다.
:이 경우, 나는 전설 목록의 마지막에 '12345'의 속성 데이터 요소 '값'을 추가하려고 내가 할<?php
$doc = new DOMDocument;
$doc->load('result.xml');
$test = $doc->getElementsByTagName("legend")->item(0);
echo $test->nodeValue.PHP_EOL; //should print Delete
if("Delete" == $test->nodeValue)
{
$newElement = $doc->createElement('value');
$theAttribute = $doc->createAttribute('date');
$theAttribute->value='12345';
$newElement->appendChild($theAttribute);
$doc->appendChild($newElement);
}
echo $doc->saveXML();
?>
결과 "를 삭제하는 것은"이것이다
<report>
<sets>
<set>
<legend>Delete</legend>
<values>
<value date="2012-06-24" data="9"/>
<value date="2012-06-25" data="17"/>
<value date="2012-06-26" data="15"/>
<value date="2012-06-27" data="10"/>
<value date="2012-06-28" data="8"/>
</values>
</set>
<set>
<legend>Total Tickets</legend>
<values>
<value date="2012-06-24" data="412"/>
<value date="2012-06-25" data="416"/>
<value date="2012-06-26" data="423"/>
<value date="2012-06-27" data="405"/>
<value date="2012-06-28" data="280"/>
</values>
</set>
</sets>
</report>
<value date="12345"/>
내가 노력하고있어이 데이터는이 대신로 표시하세요 :
<report>
<sets>
<set>
<legend>Delete</legend>
<values>
<value date="2012-06-24" data="9"/>
<value date="2012-06-25" data="17"/>
<value date="2012-06-26" data="15"/>
<value date="2012-06-27" data="10"/>
<value date="2012-06-28" data="8"/>
<value date="12345"/>
</values>
</set>
내가 데이터를 특정 지점 대신 XML의 맨 마지막에 추가 될 얻을 수있는 방법 확실하지.
감사합니다.
완벽! 감사! – msg04