xml中特殊字符的解析,如'&' PHP中的符号

发布于 2024-11-08 02:50:36 字数 232 浏览 4 评论 0原文

我无法使用特殊字符(例如“&”)解析 xml 文件中的特殊字符(我无法编辑该文件) php 中的符号。

这是一个示例 xml 代码片段,我尝试让它工作并在 php 中显示。

<节点> <测试>不&这个周末忘记我吧! :)

非常感谢任何帮助

I am having trouble to parse special characters from an xml file (I can't edit the file) with special characters, such as the '&' symbol in php.

Here is an example xml code snippet that I try to make it work and display in php.

<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
<test>Don't & forget me this weekend!</test>
</node>

Any help is highly appreciated :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不气馁 2024-11-15 02:50:36

要使用 & 特殊字符,代码为 &

另请参阅:http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

To use the & special character the code is &

Also have a look at : http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

飘然心甜 2024-11-15 02:50:36

在那个极端情况下:

str_replace("&", "&", $xml);

将使其正确解析。不幸的是,如果您有一个大于号或小于号未转义:

<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
  <test>Oh my < Goodness </test>
</node>

str_replace 将不起作用。现在您可以使用正则表达式来测试诸如 <[a-zA-Z] 之类的内容,但接下来会出现:

<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
  <test>Oh my<Goodness </test>
</node>

所以这基本上会消除您使用正则表达式的机会。

我尝试使用 SimpleXML、DOM、XmlReader 解析 XML,并尝试了许多 libxml 属性,但没有任何效果。

简而言之,可能性对你不利。您的提供商需要生成正确的 XML。

In that one corner case:

str_replace("&", "&", $xml);

Would make it parse properly. Unfortunately if you have a great than or less than sign unescaped:

<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
  <test>Oh my < Goodness </test>
</node>

A str_replace is not going work. Now you could do regex to test something like <[a-zA-Z], but then there's:

<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
  <test>Oh my<Goodness </test>
</node>

So that will basically kill your chances of using a regex.

I've tried to parse your XML with SimpleXML, DOM, XmlReader, and attempted a number of libxml properties, and nothing worked.

So in short, the odds are against you. Your provider needs to generate proper XML.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文