我尝试更新现有的 xml 文件,然后使用相同的名称保存它,但它是追加而不是更新。另外像 ä 这样的瑞典语字符也会转换为 unicode,可以通过指定编码来防止这种情况吗? $folderPath = dirname(__DIR__). DIRECTORY_SEPARATOR; // website/ $fileName = 'event.xml'; $destFile = $folderPath .$fileName; // website/event.xml $xml = simplexml_load_file($destFile); //Update $xml->events->event->title = $eventTitle; $xml->events->event->eventdate = $eventDate; // save the updated document $xml->asXML($destFile);所以我最终得到了这样的 xml(甚至不是有效的 xml)...<?xml version="1.0" standalone="yes"?><events> <event> <title>Ä</title> <eventdate>2019-12-01</eventdate> </event><events><event><title>Ä</title><eventdate>2019.12.01</eventdate></event></events></events>当我需要它像这样时:<?xml version="1.0" standalone="yes"?><events> <event> <title>Å</title> <eventdate>2019-12-01</eventdate> </event></events>
1 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
您需要更改两件事,第一件事是在 XML 中启用 UTF-8...
<?xml version="1.0" encoding="utf-8"?>
第二个是,当您使用 SimpleXML 加载数据时,变量是根元素,因此$xml
也是<events>
。所以你不需要在你的关卡中使用它......
$xml->event->title = $eventTitle; $xml->event->eventdate = $eventDate;
另外,只是说(这甚至不是有效的 xml) - 它可能不是您想要的,但它仍然是有效的 XML。
- 1 回答
- 0 关注
- 68 浏览
添加回答
举报
0/150
提交
取消