0
这个XML文件是我到目前为止有:创建使用simplexml_load_string,的addChild和的addAttribute
这是我收到的输出:http://i.imgur.com/mGRAJPe.gif
似乎所有的子节点都成为一个孩子第一个datafield元素,而不是嵌套在它们各自的数据字段父项中。有什么建议么?
$str = '<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record></record></collection>';
$xml = simplexml_load_string($str);
$xml->record = "";
$xml->record->addChild('leader', $data["controlfield"]["000"]["40"]);
foreach ($data["controlfield"] as $dcf => $value) {
foreach ($value as $dcfv) {
$addControl = $xml->record->addChild('controlfield', $dcfv);
$addControl->addAttribute('tag', $dcf);
}
}
foreach ($data["datafield"] as $dftc => $dfarray) {
$addData = $xml->record->addChild('datafield');
$addData->addAttribute('tag', $dftc);
$addData->addAttribute('ind1', $dfarray['ind1']);
$addData->addAttribute('ind2', $dfarray['ind2']);
foreach ($dfarray as $code => $value) {
if(($code != "ind1") && ($code != "ind2")) {
$addSubs = $xml->record->datafield->addChild('subfield', $value);
$addSubs->addAttribute('code', $code);
}
}
}
非常感谢,这完美的工作! – rtd1123 2013-02-12 16:55:41