【问题标题】:Nodes don't get imported properly when using Feeds XPath Parser in Drupal 7在 Drupal 7 中使用 Feeds XPath Parser 时节点无法正确导入
【发布时间】: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,但据我所知,您可以导入各种格式的数据。迁移模块可能是导入内容的最佳解决方案。

标签: xml drupal xpath drupal-7


【解决方案1】:

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

admin/structure/feeds/jobs_importer/settings/FeedsXPathParserXML

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

【讨论】:

  • 谢谢,这看起来像我需要的,但无法测试它,因为我们不再使用 Drupal ;)
猜你喜欢
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多