2017-01-02 53 views
0

如何在PHP中使用firstChild獲取XML文件的另一個孩子? 我有這樣的代碼:如何在PHP中使用XML文件的'firstChild'進入另一個孩子?

 $root = $xmldoc->firstChild; 

我可以簡單地進入第二個孩子或其他?

+1

你的xml結構是怎樣的?請給出一個更詳細的例子和解釋,該節點被稱爲你想要tp得到。 PHP擁有幾種獲取XML節點的方法。 – Marcel

+0

感謝您的回答。我有這樣的結構: 通過我的代碼* $根= $ xmldoc->則firstChild; *我可以訪問到> XMLDATA <,但我想將某些東西添加到> data <這是XML文件的第二個子節點。我怎樣才能做到這一點? – servitus

+0

根據定義,在一個格式良好的XML文檔中[只有一個根元素](https://www.w3.org/TR/xml/#dt-root),在您的示例'xmldata';元素'data' **不是XML文件**的第二個子元素,它是根元素的第一個子元素(當然還有根元素和其他元素可以有多個子元素)。 – lfurini

回答

0

對於您的問題可能的解決方案可能是這樣的。首先你的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(); 

此代碼示例未經測試。玩的開心。 ;)

+0

$ root = $ xmldoc-> getElementsByTagName('data') - > item(0); 謝謝:)作品:) – servitus

相關問題