【发布时间】:2013-11-13 08:43:25
【问题描述】:
我正在尝试从 XML 文件自动生成 Drupal 节点。我正在尝试使用 Feeds 模块和 Feeds XPath Parser 来实现这一点。现在我只想按原样转换 XML 元素。 我的问题是正确的值被分配给生成的节点,但它们包含整个 XML 元素而不是内容。 这是我的案例的简化 XML 文件:
<Kinos>
<Kino>
<kinoid>75102</kinoid>
<kinoname>Name des Kinos</kinoname>
<adressid>75101</adressid>
<leinwaende>8</leinwaende>
<sitzplaetze>1000</sitzplaetze>
<servicekino>0</servicekino>
<tonsystem>DTS, Dolby Surround</tonsystem>
<beschreibung>Das Kino am Mauerpark.</beschreibung>
</Kino>
</Kinos>
导入后的调试输出如下:
context :
<Kino> <kinoid>75102</kinoid> <kinoname>Name des Kinos</kinoname> <adressid>75101</adressid> <leinwaende>8</leinwaende> <sitzplaetze>1000</sitzplaetze> <servicekino>0</servicekino> <tonsystem>DTS, Dolby Surround</tonsystem> <beschreibung>Das Kino am Mauerpark.</beschreibung> </Kino>
xpathparser:0 :
<kinoid>75102</kinoid>
xpathparser:1 :
<kinoname>Name des Kinos</kinoname>
xpathparser:2 :
<adressid>75101</adressid>
xpathparser:3 :
<leinwaende>8</leinwaende>
xpathparser:4 :
<sitzplaetze>1000</sitzplaetze>
xpathparser:5 :
<servicekino>0</servicekino>
xpathparser:6 :
<tonsystem>DTS, Dolby Surround</tonsystem>
xpathparser:7 :
<beschreibung>Das Kino am Mauerpark.</beschreibung>
Created 1 node.
如您所见,xpathparser 映射对应于我分配的字段,但标签也包含在内(字段类型是简单的文本还是整数都没有关系)。
我正在使用最新的 feeds_xpathparser 模块发布版本 (7.x-1.0-beta4)。创建自定义导入器时,我按照here 中提到的步骤操作。
基本上我已经创建了两种相同的内容类型。一个用于 Feed Processor,一个用于创建。然后我为每个字段设置了 xpathparser 映射,如下所示:
xpathparser:0 => nodeid
xpathparser:1 => kinoname
xpathparser:2 => addressid
...
最后将 XPath 查询设置为:
Context: //Kino
nid: kinoid
field_name: kinoname
field_adressid: addressid
....
我希望有人能帮我解决这个问题 :) 此致, 萨塔拉
【问题讨论】:
-
你看过 Migrate 模块吗?
-
还没有,它还提供从 XML 生成节点的功能吗?
-
我很确定确实如此,我自己没有尝试过使用 XML,但据我所知,您可以导入各种格式的数据。迁移模块可能是导入内容的最佳解决方案。