我无法使用特殊字符解析xml文件中的特殊字符(我无法编辑文件),例如'&' php中的符号。
这是一个示例xml代码片段,我尝试使其工作并在php中显示。
<?xml version="1.0" encoding="ISO-8859-1"?>
<node>
<test>Don't & forget me this weekend!</test>
</node>
非常感谢任何帮助:)
答案 0 :(得分:3)
要使用&
特殊字符,代码为&
另请参阅:http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
答案 1 :(得分:1)
在那个角落里:
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。