为了账号安全,请及时绑定邮箱和手机立即绑定

php simplexml 附加而不是更新

php simplexml 附加而不是更新

PHP
千万里不及你 2023-09-08 21:44:22
我尝试更新现有的 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>&#xC4;</title>    <eventdate>2019-12-01</eventdate> </event><events><event><title>&#xC4;</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。


查看完整回答
反对 回复 2023-09-08
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信