Php 尝试创建从google文档csv读取的简单小部件时,Magento XML解析器出错

Php 尝试创建从google文档csv读取的简单小部件时,Magento XML解析器出错,php,magento,csv,xml-parsing,google-drive-api,Php,Magento,Csv,Xml Parsing,Google Drive Api,我正在尝试创建一个简单的小部件,它将从谷歌文档电子表格中读取数据,并在我的网站上打印表格。到目前为止,在Block文件夹中,我有: <?php class Namespace_Module_table extends Mage_Core_Block_Abstract implements Mage_widget_block_interface { protected function _toHtml() { $spreadsheet_url= pathToCSV;

我正在尝试创建一个简单的小部件,它将从谷歌文档电子表格中读取数据,并在我的网站上打印表格。到目前为止,在Block文件夹中,我有:

<?php
class Namespace_Module_table
extends Mage_Core_Block_Abstract
implements Mage_widget_block_interface
{
protected function _toHtml()
{
    $spreadsheet_url= pathToCSV;

        if(!ini_set('default_socket_timeout',    15)) echo "<!-- unable to change socket timeout -->";

        if (($handle = fopen($spreadsheet_url, "r")) !== FALSE) 
        {
            while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
            {
                $spreadsheet_data[]=$data;
                return $spredsheet_data[];
            }
        fclose($handle);
        }
        else 
            return 'Problem reading csv';
    }
}
?>
我有什么明显做错的吗

编辑:这是我的config.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<config>
    <modules>
        <module>
            <version>0.0.1</version>
        </module>
    <global>
        <helpers>
            <module>
                <class>Namespace_Module_Helper</class>
            </module>
        </helpers>
        <blocks>
            <module>
                <class>Namespace_Module_Block</class>
            </module>
        </blocks>
    </global>
</config>

0.0.1
名称空间\模块\辅助程序
名称空间模块块

您的PHP代码不是这里的问题。作为小部件模块的一部分,您已经上传了一个XML文件,可能不止一个。当Magento使用PHP代码读取此XML文件时(可能是您的
config.XML
,但这是基于您列出的调用堆栈的猜测),它会发现XML文件无效

警告:simplexml_load_string():实体:第19行:解析器错误:开始和结束标记不匹配:模块第3行和配置

听起来文件中的某些标记没有正确平衡。解决这个问题,你就能继续前进

更新:根据更新的答案,以下内容

...
<modules>
    <Scooterlistwidget>
        <version>0.0.1</version>
    </Scooterlistwidget>
<global>
...
。。。
0.0.1
...
应该是

<modules>
    <Scooterlistwidget>
        <version>0.0.1</version>
    </Scooterlistwidget>
</modules>
<global>

0.0.1

您缺少一个结束标记

我猜是非良好格式的XML。A
find-typef-name'*.xml'-execxmllint--noout{}app/code
中的code>可能会有帮助。感谢您的回复,这到底有什么作用呢?
simplexml\u load\u字符串
堆栈跟踪不会告诉您,
*.xml
文件中的哪一个失败并剪切错误输出。
xmllint
行检查所有找到的
*.xml
文件是否格式正确,如果不正确,则输出文件名和找到的错误。您显示的
config.xml
遗漏了一个结束标记,顺便说一句。感谢您的回复,这是我的配置文件,对我来说一切都很平衡:\edit:注释中看起来很难看,我会把它放在原稿上post@edward最好让计算机/编辑器确定XML文件的平衡性。答案已更新。
<modules>
    <Scooterlistwidget>
        <version>0.0.1</version>
    </Scooterlistwidget>
</modules>
<global>