xml 中的 amp 转换为“&”
我正在创建一个 url 并添加 &到那个网址。
eg http://xyzc.com/abc.php?arg1=value1&arg2=value2
现在我将此 url 添加到 xml 中。
我正在 C++ 中通过tinyxml 创建 xml,并且还尝试在 php 中创建相同的 xml。
创建xml后,我发现“&
”被转换为“&
”
“&
”可以吗转换为“&
”?为什么会出现这种情况?对此可能的解决办法是什么?
$strUrl ="http://xyzc.com/abc.php?";
$strUrl .="arg1=".$value1;
$strUrl .="&arg2=".$value2;
输出如下
http://xyzc.com/abc.php?arg1=10&arg2=100
I am creating one url and adding & to that url.
eg http://xyzc.com/abc.php?arg1=value1&arg2=value2
Now I am adding this url to xml .
I am creating xml via tinyxml in c++ and also tried creating same xml in php.
After creating the xml I found out that "&
" is converted to "&
"
Is it okay for "&
" to get converted to "&
"? Why is this happening ? And what could be the possible fix for this?
$strUrl ="http://xyzc.com/abc.php?";
$strUrl .="arg1=".$value1;
$strUrl .="&arg2=".$value2;
The output is coming as
http://xyzc.com/abc.php?arg1=10&arg2=100
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
XML 具有称为字符引用 (
&thingy;
) 的功能,因此,所有原始
&
字符必须转义为&
这是一个预定义的字符引用,相当于
&
(amp
代表 & 符号)。保留未转义的
&
将创建无效的 XML。请注意,原始
<
字符也必须转义为<
(lt
代表小于)。XML has a feature called a character reference (
&thingy;
)Therefore, all raw
&
characters must be escaped as&
This is a pre-defined character reference equivalent to
&
(amp
stands for ampersand).Leaving an unescaped
&
will create invalid XML.Note that raw
<
characters must also be escaped as<
(lt
stands for less-than).