- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以我花了很多时间编写一个脚本来执行特定任务,当我在本地机器上测试它时它工作正常,但是当我将它上传到我的主机时它给我这个错误
Fatal error: Cannot use object of type DOMNodeList as array
这是脚本的示例
$xml = new DOMDocument();
$xml->loadHTML($html);
$xpath = new DOMXPath($xml);
$table =$xpath->query("//*[@style='background: #aaaaaa']")->item(0);
$rows = $table->getElementsByTagName("tr");
foreach ($rows as $row) {
if($row->getAttribute('align') === 'center') {
$cells = $row -> getElementsByTagName('td');
// I GET THE ERROR FROM THIS LINE
$add = mysql_escape_string(utf8_decode($cells[0]->nodeValue));
Some logic
}
就像我说的,它在我的本地机器上运行良好,但在我的主机上运行它时出现错误
我使用这段代码来获取加载的扩展,因为我认为问题可能出自那里
print_r(get_loaded_extensions());
这是我机器的结果
Array
(
[0] => Core
[1] => bcmath
[2] => calendar
[3] => ctype
[4] => date
[5] => ereg
[6] => filter
[7] => ftp
[8] => hash
[9] => iconv
[10] => json
[11] => mcrypt
[12] => SPL
[13] => odbc
[14] => pcre
[15] => Reflection
[16] => session
[17] => standard
[18] => mysqlnd
[19] => tokenizer
[20] => zip
[21] => zlib
[22] => libxml
[23] => dom
[24] => PDO
[25] => bz2
[26] => SimpleXML
[27] => wddx
[28] => xml
[29] => xmlreader
[30] => xmlwriter
[31] => apache2handler
[32] => openssl
[33] => curl
[34] => mbstring
[35] => exif
[36] => gd
[37] => gettext
[38] => intl
[39] => mysql
[40] => mysqli
[41] => Phar
[42] => pdo_mysql
[43] => pdo_sqlite
[44] => soap
[45] => sockets
[46] => sqlite3
[47] => xmlrpc
[48] => xsl
[49] => mhash
)
来 self 的主机
Array
(
[0] => Core
[1] => date
[2] => ereg
[3] => libxml
[4] => openssl
[5] => pcre
[6] => sqlite3
[7] => zlib
[8] => bcmath
[9] => bz2
[10] => calendar
[11] => ctype
[12] => curl
[13] => dom
[14] => hash
[15] => fileinfo
[16] => filter
[17] => ftp
[18] => gd
[19] => gettext
[20] => SPL
[21] => iconv
[22] => session
[23] => intl
[24] => json
[25] => mbstring
[26] => mcrypt
[27] => standard
[28] => mysql
[29] => mysqli
[30] => pgsql
[31] => mysqlnd
[32] => Phar
[33] => posix
[34] => pspell
[35] => Reflection
[36] => imap
[37] => SimpleXML
[38] => soap
[39] => sockets
[40] => exif
[41] => tidy
[42] => tokenizer
[43] => xml
[44] => xmlreader
[45] => xmlrpc
[46] => xmlwriter
[47] => xsl
[48] => zip
[49] => cgi-fcgi
[50] => PDO
[51] => pdo_sqlite
[52] => pdo_mysql
[53] => ionCube Loader
[54] => Zend Guard Loader
)
不知道为什么会报错
最佳答案
getElementsByTagName()
返回 DOMNodeList
, 它实现了 ArrayAccess
as of PHP 5.6.3 .这就是允许您通过 $cells[0]
访问节点的原因。
在以前的版本中,您需要使用 DOMNodeList 的 item()
访问特定索引的方法,例如$cells->item(0)
.
关于php - fatal error : Cannot use object of type DOMNodeList as array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35845819/
很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .
我正在用PHP解析带有DOM和XPath的HTML页面。 我必须从HTML中获取嵌套的。 我已经在浏览器中使用FirePath定义了一个查询,该查询指向 html/body/table[2]/tbod
我收到上述错误并尝试打印出该对象以查看如何访问其中的数据,但它仅回显 DOMNodeList Object ( ) function dom() { $url = "http://website.co
我尝试运行此代码,但 php 抛出: fatal error :调用路径/to/feature-manager.php 中未定义的方法 DOMNodeList::getAttribute() 这个文件
我有一个 DomDocument,这是不可能的 var_dump(这真的让我很生气),我在上面做: var_dump($dom->getElementsByTagName('url')); 像这样的回
我正在尝试确定以 DOMNodeList 集合作为种子的 foreach 循环的结束。目前,我正在使用 for 循环,希望避免在那里出现“魔数(Magic Number)”。我知道只有 8 列,但我希
我在遍历 DOMNodeList 中的元素时遇到问题。我正在尝试将整个段落放入一个字符串中。我可以用这个分别得到每个句子: $node = $paragraph->item(0); //first
我有这个代码: $dom = new DOMDocument(); $dom->load('file.xml'); $names = $dom->getElementsB
我有一个如下所示的 XML 文件: If-Else ... ... 然后我尝试使用以下 PHP 代码提取它: $subjects = $do
我有一个如下所示的 XML 文件: If-Else ... ... 然后我尝试使用以下 PHP 代码提取它: $subjects = $do
我有两个 DOMNodeLists $textNodes = $xpath->query('//text()'); 和 $titleNodes = $xpath->query('//@title');
有没有办法创建我自己的 DOMNodeList?例如: $doc = new DOMDocument(); $elem = $doc->createElement('div'); $nodeList
我已经登录,并使用 CURL 抓取返回页面,使用 DOMDocument 加载它,然后使用 DOMXPATH 查询它(到找到“table.essgrid tr”)。 (然后我也在查询结果以找到子 't
我试图通过下面给出的 XML 通过下面的 PHP 代码读取“SIM”的值,但由于某种原因它给了我一个空白的“DOMNodeList”知道我在这里做错了什么吗?我想将该元素设置为 000000 我该
我问了this question前一段时间,答案是使用这些数据结构:DOMNode、DOMNodeList 和方法 -childNodes:。 这两个数据结构在 OS X 文档中没有文档;我发现的唯一
所以我花了很多时间编写一个脚本来执行特定任务,当我在本地机器上测试它时它工作正常,但是当我将它上传到我的主机时它给我这个错误 Fatal error: Cannot use object of typ
我是一名优秀的程序员,十分优秀!