Php XML解析错误
我有一个有效的XML 它要求我将整个元数据记录视为元数据元素“dataxml”的值,换行符(和百分号)用百分号(即“转义百分号”)表示 因此,我做了以下工作 注意:它只询问了以下百分比:\n、\r、:和%,因此我只替换了这些百分比Php XML解析错误,php,xml,Php,Xml,我有一个有效的XML 它要求我将整个元数据记录视为元数据元素“dataxml”的值,换行符(和百分号)用百分号(即“转义百分号”)表示 因此,我做了以下工作 注意:它只询问了以下百分比:\n、\r、:和%,因此我只替换了这些百分比 $input .= 'dataxml: ' . str_replace(array(chr(hexdec('3A')),chr(hexdec('25')),chr(hexdec('0A')),chr(hexdec('0D'))),array('%3A', '%25',
$input .= 'dataxml: ' . str_replace(array(chr(hexdec('3A')),chr(hexdec('25')),chr(hexdec('0A')),chr(hexdec('0D'))),array('%3A', '%25', '%0A', '%0D'), $xmlfile) . "\n";
但它会弹出以下错误:
400 error:'dataxml': XML parse error: xmlns: URI http%253A//dataxml.org/schema/kernel-2.1 is not absolute
有人能指出我做错了什么吗?http://中的冒号被替换了两次:首先冒号被替换为
%3A
,然后替换的百分比被替换为%25
可以使用该函数避免替换字符串中已替换的部分
比如说,
$input .= 'dataxml: ' . strtr($xmlfile, array(":" => "%3A", "%" => "%25", "\n" => "%0A", "\r" => "%0D")) . "\n";
http://
中的冒号被替换了两次:首先,冒号被替换为%3A
,然后替换中的百分比被替换为%25
可以使用该函数避免替换字符串中已替换的部分
比如说,
$input .= 'dataxml: ' . strtr($xmlfile, array(":" => "%3A", "%" => "%25", "\n" => "%0A", "\r" => "%0D")) . "\n";
有没有一种方法可以将strtr()合并到$input?当然,就像你的示例中一样。我的意思是如何将strtr()添加到上面的行?我已经编辑过,使其看起来像你的示例。有没有一种方法可以将strtr()合并到$input?当然,就像你的示例中一样。我的意思是如何添加strtr()对于上面的一行,我将其编辑为与您的示例类似。