资源:PHP 官方网站- SimpleXMLElement 文档
如果您声称此行有错误:
$xml = iconv("UTF-16", "UTF-8", $xml);
然后将其更改为此,因为 $xml 可能不是“UTF-16”:
$xml = iconv(mb_detect_encoding($xml), "UTF-8", $xml);
要保存 XML 文件:
//saving generated xml file
$xml_student_info->asXML('file path and name');
要导入 xml 文件:
$url = "http://www.domain.com/users/file.xml";
$xml = simplexml_load_string(file_get_contents($url));
如果您有如下数组:
$test_array = array (
'bla' => 'blub',
'foo' => 'bar',
'another_array' => array (
'stack' => 'overflow',
),
);
并且您希望将其转换为以下 XML:
<?xml version="1.0"?>
<main_node>
<bla>blub</bla>
<foo>bar</foo>
<another_array>
<stack>overflow</stack>
</another_array>
</main_node>
那么这里是PHP代码:
<?php
//make the array
$test = array (
'bla' => 'blub',
'foo' => 'bar',
'another_array' => array (
'stack' => 'overflow',
),
);
//make an XML object
$xml_test = new SimpleXMLElement("<?xml version=\"1.0\"?><main_node></main_node>");
// function call to convert array to xml
array_to_xml($test,$xml_test);
//here's the function definition (array_to_xml)
function array_to_xml($test, &$xml_test) {
foreach($test as $key => $value) {
if(is_array($value)) {
if(!is_numeric($key)){
$subnode = $xml_test->addChild("$key");
array_to_xml($value, $subnode);
}
else{
$subnode = $xml_test->addChild("item$key");
array_to_xml($value, $subnode);
}
}
else {
$xml_test->addChild("$key","$value");
}
}
}
/we finally print it out
print $xml_test->asXML();
?>