2012-11-23 88 views
0

我在运行XPath的某些希伯来文内容时遇到了麻烦。 我的代码:PHP Xpath和希伯来文

$strGames = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><Array1 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://tempuri.org/\"><Live><Name>שלום</Name><ID>11113</ID></Live></Array1>"; 
$Games = new SimpleXMLElement($strGames); 
$live = $Games->xpath("/*[local-name()='Array1']/*[local-name()='Live' and contains(.,'שלום') and namespace-uri()='http://tempuri.org/']"); 

的“$活”变量包含执行它后空数组。

如果我正在执行“contains(。,'11113')” - 我正在创建结果 - 所以问题是 肯定在希伯来文部分。

可能是什么问题?

+0

希伯来语不是iso-8859-1的一部分... –

回答

0

尝试将您的$strGames中的编码更改为UTF-8。

$strGames = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Array1 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://tempuri.org/\"><Live><Name>שלום</Name><ID>11113</ID></Live></Array1>"; 

还要确保您的编辑器设置为以UTF-8读/写文档。

希望这会有所帮助。

+0

谢谢,它是编辑器被设置为ANSI – ohadinho