2015-11-04 93 views
0

簡單的示例XML文件是PHP simplexml的設置屬性

<body id="1" doi="100000"> 
</body> 

PHP

$feed = file_get_contents('/../files/schema.xml'); 
    $datasetxml = simplexml_load_string($feed); 
    $datasetxml->body['id']=2; 
    $datasetxml->body['doi']="200000"; 
    echo $datasetxml->asXML(); 

我想改變它爲ID = 2,DOI = 200000但復位值後的結果是錯誤的,只能在網頁上看到源碼?

<?xml version="1.0"?> 
<body id="1" doi="100000"> 

<body id="2" doi="200000"/></body> 

回答

1

因爲它是你想改變根元素,嘗試直接在它的工作:

$datasetxml = simplexml_load_string('<body id="1" doi="100000"> 
</body>'); 
$datasetxml['id']=2; 
$datasetxml['doi']="200000"; 
echo $datasetxml->asXML(); 

因爲$datasetxml已經是它的屬性,你想改變的元素。

0
$feed = file_get_contents('/../files/schema.xml'); 
$datasetxml = simplexml_load_string($feed); 
$datasetxml->body[0]['id']=2; 
$datasetxml->body[0]['doi']="200000"; 
echo $datasetxml->asXML(); 
+0

謝謝,我之前嘗試過這種方式,但仍然錯誤 – AntiGMO

+0

如果向xml中添加根實體,則此方法有效。看來你不能修改root屬性。 –