以下是代码:
for($i = 0; $i < count(array_values($resources['titles'])); $i++){
//var_dump($key);
$ad = $xml->addChild('ad');
$ad->addChild('title', htmlentities(htmlspecialchars(substr($resources['titles'][$i], 0, 70))));
$ad->addChild('text', 'Текст текст');
$ad->addChild('price', htmlentities($resources['prices'][$i]));
//file_put_contents('test.txt',$resources['titles'][$i]."\n", FILE_APPEND);
}
$xml->asXML($this->_xmlOutput);
它可以保存所有数据,但xml文件格式不正确,而且西里尔符号(很多都是)变成&amp; #x447(那是什么代码?)。文件也保存为ansi,而不是utf-8。所以问题是 - 如何正确创建格式良好且可读(带有西里尔符号)的XML文档?
答案 0 :(得分:0)
使用适当的编码标头和标记1对XML进行前缀。 XML中的第一行应该是:
{{1}}
答案 1 :(得分:0)
使用DOMDocument找到更好的解决方案。继承人在循环中重写了代码示例:
$node_ad = $xml->CreateElement('ad');
$node_ads->appendChild($node_ad);
//$node_ads->addChild('title', htmlentities(htmlspecialchars(substr($resources['titles'][$i], 0, 70))));
$title = $xml->CreateElement('title', htmlentities(htmlspecialchars(substr($resources['titles'][$i], 0, 70))));
$node_ad->appendChild($title);
$text = $xml->CreateElement('text', 'Текст текст');
$node_ad->appendChild($text);
$images_node = $xml->CreateElement('images');
$node_ad->appendChild($images_node);
$images = $xml->CreateElement('image', $this->_mainUrl.'/uploads/'.$resources['images'][$i]);
$images_node->appendChild($images);