0

我在某些希伯来语内容上运行 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/']");

'$live' 变量在执行后包含一个空数组。

如果我使用“contains(.,'11113')”执行 - 我得到了结果 - 所以问题肯定出在希伯来语部分。

可能是什么问题?

4

1 回答 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 格式读取/写入文档。

希望这可以帮助。

于 2012-11-23T16:01:43.207 回答