在Drupal 7中使用Feeds XPath Parser时,节点无法正确导入

时间:2013-11-13 08:43:25

标签: xml drupal xpath drupal-7

我正在尝试从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映射对应于我指定的字段,但标签也包含在内(如果字段类型只是Text或Integer,则无关紧要。)

我正在使用最新的feed_xpathparser模块发行版(7.x-1.0-beta4)。创建自定义导入程序时,我按照提到的here步骤进行了操作。

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

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

最后将XPath查询设置为以下内容:

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

我希望有人可以帮我这个:) 最好的祝福, 萨塔拉

1 个答案:

答案 0 :(得分:3)

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

管理员/结构/馈送/ jobs_importer /设置/ FeedsXPathParserXML

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

UNcheck to remove XML tags from output