【问题标题】:XML helper/output of model data in 2.0?2.0 中模型数据的 XML 助手/输出?
【发布时间】:2012-09-29 19:04:15
【问题描述】:

我的 XML 视图文件包含(用于通过 XML 导出记录):

 <records><?php echo $this->Xml->serialize($records); ?></records>

升级到 2.0 后,我意识到不再有 Xml 助手。 但是 Xml 类本身似乎也不再提供同样强大的方法。 它只包含类似的东西

$Xml = Xml::fromArray($records, array('format' => 'attribute'));
...
<records><?php echo $Xml->asXML(); ?></records>

但这当然会失败,因为它只能“一次转换一条记录”。 如果我将其强制为单个父键,它也会失败,例如

$records = array('records'=>$records);

首先...

不知道如何让 XML 导出的东西再次工作。 特别是,看起来,2.0 XML 类(http://book.cakephp.org/2.0/en/core-utility-libraries/xml.html#Xml)的预期输入与模型返回的完全不同(并且可能必须以某种方式进行转换)。 旧结构(并且很喜欢模型):

$records = array(
    array('Project'=>array('field'=>'value', ...)),
    array('Project'=>array('field'=>'value', ...)),
);

新结构

$records = array(
    'projects' => array(
        'project' => array(
            array(
                'id' => 1, 'title' => 'Project 1',
                'industry' => array('id' => 1, 'name' => Industry 1')
            ),
            array(
                'id' => 2, 'title' => 'Project 2',
                'industry' => array('id' => 2, 'name' => Industry 2')
            )
        )
    )
);

与模型提供给我们的完全不兼容,或者看起来是这样。

【问题讨论】:

  • 您是否收到过对此的答复或进一步澄清?我自己也在为此苦苦挣扎,对 CakePHP 有点陌生,我没有取得太大进展。

标签: xml cakephp-2.0


【解决方案1】:

答案很简单,我在通过http://cakephp.lighthouseapp.com/projects/42648/tickets/2789-xml-view-defect提问后不久就发现了

基本上,您总是需要一个单亲父母。因此旧语法可能被视为无效。因此升级和迁移到概述的新结构似乎是一项要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多