PHP에서 firstChild 이외의 다른 XML 파일을 어떻게 가져올 수 있습니까?PHP에서 XML 파일의 'firstChild'이외의 다른 자식을 사용하는 방법은 무엇입니까?
$root = $xmldoc->firstChild;
은 단순히 두 번째 자녀 또는 다른 들어갈 수 : 나는이 같은 코드가?
PHP에서 firstChild 이외의 다른 XML 파일을 어떻게 가져올 수 있습니까?PHP에서 XML 파일의 'firstChild'이외의 다른 자식을 사용하는 방법은 무엇입니까?
$root = $xmldoc->firstChild;
은 단순히 두 번째 자녀 또는 다른 들어갈 수 : 나는이 같은 코드가?
가능한 해결책은 다음과 같을 수 있습니다. 먼저 XML 구조. 데이터 노드에 항목 노드를 추가하는 방법을 물었습니다.
$xml = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<xmldata>
<data>
<item>item 1</item>
<item>item 2</item>
</data>
</xmldata>
XML;
PHP에서 가능한 해결책은 DomDocument 객체입니다.
$doc = new \DomDocument();
$doc->loadXml($xml);
// fetch data node
$dataNode = $doc->getElementsByTagName('data')->item(0);
// create new item node
$newItemNode = $doc->createElement('item', 'item 3');
// append new item node to data node
$dataNode->appendChild($newItemNode);
// save xml node
$doc->saveXML();
이 코드 예는 테스트되지 않았습니다. 재미있게 보내십시오. ;)
$ root = $ xmldoc-> getElementsByTagName ('data') -> item (0); 고마워요 :) – servitus
xml 구조는 어떻게 생겼습니까? 더 자세한 예제와 설명을 해주십시오. 노드가 tp를 얻고 자하는 것이 무엇인지를 설명하십시오. PHP는 XML 노드를 가져 오는 몇 가지 방법을 가지고 있습니다. – Marcel
답변 해 주셔서 감사합니다. 내 코드 *의 $ 루트 = $ xmldoc-> firstChild으로 * 내가> XMLDATA <에 액세스 할 수 있지만 내가 좋아하는 것 :이 같은 구조를 가지고 XML 파일의 두 번째 자식 인 data>에 뭔가를 추가합니다. 어떻게해야합니까? –
servitus
정의에 따르면, 올바른 형식의 XML 문서 [예 : xmldata']에는 [루트 요소가 하나 밖에 없습니다] (https://www.w3.org/TR/xml/#dt-root)가 있습니다. 'data' 요소 **는 XML 파일의 두 번째 자식이 아니므로 루트 요소의 첫 번째 자식입니다. 물론 루트 요소와 각 요소는 여러 자식을 가질 수 있습니다. – lfurini