나는이 당황하고있어 재미있는 부분은 내가 성공적으로이 코드를 여러 번 사용한 적이 있습니다 ... SimpleXML을 할 수 없습니다 xml의 기존 노드에 문자열을 결합합니다. 아마 내가 '는 PHP를 통해 XML에 노드를 추가하고 (newsku)</p> <p>내 목표는 새 노드를 만드는 것입니다
... 무슨 일이 것은 내가 새 노드가없는 원본 XML을 얻을 수 있다는 것입니다
<?php
header('Content-Type: text/html; charset=UTF-8');
error_reporting(E_ALL);
// Import test xml
$products = simplexml_load_file("http://test.com/xml/customer.xml");
foreach($products->xpath("product") as $p) {
$p->addChild("newsku", "NEW" . $p->sku);
}
$products->asXML('test.xml');
echo 'test XML files are updated';
?>
: 여기
는 XML의 :<products>
<product>
<id>3</id>
<name><![CDATA[ΜΙΚΡΟΦΩΝΟ SAMSON G-TRACK]]></name>
<manufacturer><![CDATA[SAMSON]]></manufacturer>
<sku><![CDATA[550.SAM.060]]></sku>
<description_greek><![CDATA[Samson G-Track - large diaphragm USB studio
condenser microphone (USB bus-powered), built-in audio interface and mixer,
allows simultaneous input of vocals and guitar, bass, or keyboard while also
providing monitoring through an on-board headphone output. Specifications: mic
and instrument/line gain control with clip LED, stereo input jacks for (3.5mm
stereo-jack) instrument or line level signal, stereo headphone jack for zero
latency monitoring with level control, 3-position headphone switch for stereo,
mono and computer monitoring. USB bus-powered. Includes desktop microphone
stand, audio I/O cables, USB cables and Cakewalk Sonar LE software. Optional
shockmount available.
]]></description_greek>
<short_description_greek><![CDATA[Samson G-Track - large diaphragm USB studio
condenser microphone (USB bus-powered)]]></short_description_greek>
<price>155.00</price>
<msrp>185.00</msrp>
<instock>no</instock>
<images total="2">
<image_1>http://test.com/media/catalog/product/5/5/550.sam.060-mi-
01.jpg</image_1>
<image_2>http://test.com/media/catalog/product/5/5/550.sam.060-mi-
02.jpg</image_2>
</images>
</product>
</products>
그리고 여기 내 코드입니다 나는 다른 많은 XML 파일에서 아무런 문제없이 이것을 사용했기 때문에 정말 어리석은 일을했다. ...
어떤 아이디어?
감사합니다.
, 그것은으로 작동 예상 - https://3v4l.org/5JnEv –
안녕 로렌스, 이유는 무엇입니까 다른 XML 파일이 아닌이이 작업 하나? –
'http : // test.com/xml/customer.xml'에서 가져 와서'test.xml' : /에 저장하면 프로세스가 반복되기 때문에. –