0

我正在尝试从 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)。创建自定义导入器时,我按照此处提到的步骤进行操作。

基本上我已经创建了两个相等的内容类型。一个用于 Feed Processor,一个用于创建。然后我为每个字段设置了 xpathparser 映射,如下所示:

xpathparser:0 => nodeid
xpathparser:1 => kinoname
xpathparser:2 => addressid
...

最后将 XPath 查询设置为如下所示:

Context: //Kino
nid: kinoid
field_name: kinoname
field_adressid: addressid
....

我希望有人可以帮助我:)最好的问候,萨塔拉

4

1 回答 1

3

您可以在 XPath Parser Settings 页面上解决此问题。在我的 Drupal 7 环境中,位于:

管理/结构/提要/jobs_importer/settings/FeedsXPathParserXML

请参阅底部标题为“选择要返回原始 XML 或 HTML 的查询”的部分。听起来您想取消选中这些框以删除额外的 XML 标记。

取消选中以从输出中删除 XML 标记

于 2014-05-07T13:09:18.893 回答