我有这个简单的PHP代码打印出Agoda.com上特定页面上的所有链接。但是,由于某种原因,xpath没有检测到要查询的任何html。有谁知道为什么xpath不能在这个网站上工作以及我如何解决它?:
/etc/apache2/envvars
答案 0 :(得分:0)
问题不在于XPath评估,而在于加载文档HTML。
Validating the agoda.com page会显示该页面包含零字符:
- 错误:在流中看到U + 0000。
醇>第99行,第1859行
var whatImLookingFor = myDictionary.SelectMany(x => x.Value) .Where(y => y.myProperty == someCompareValue);
零个字符可防止DomDocument正确加载HTML。除非您是该页面的所有者并且可以在源头修复该错误,否则您将不得不以某种方式自行处理此问题。
以下示例将在加载前删除HTML字符串中的所有零字符:
693=B&1676=&1778=B&am
然后,XPath将按预期进行评估。