我正在尝试使用 XSLT 格式化 Wordpress WXR 文件,以便可以将其导入 Drupal。
我知道 Drupal 的模块将导入 WXR 文件,但我需要 Feeds 模块可以提供的灵活性,因为导入的数据将针对不同的内容类型导入,我会将图像和其他附件拉入新创建的 Drupal页。考虑到这一点,标准的 WordPress Migrate 不会削减它。
因此,WXR 格式items
在提要中将 Wordpress 帖子和附件分开,并使用 id 将帖子链接到附件。附件可以是图像、文件(pdf、doc 等),可以在 xpath 中找到,wp:postmeta/wp:meta_key
并且具有 _thumbnail_id、_wp_attached_file 的值
我想做的是从附件类型的项目中获取各种节点并将它们放在相应的帖子项目中,其中 id 将它们链接在一起
要转换的 xml 片段...第一项是post
第二项attachment
。这
<item>
<title>Some groovy title</title>
<link>http://example.com/groovy-example</link>
<wp:post_id>2050</wp:post_id>
<wp:post_type>page</wp:post_type>
...
...
...
<wp:postmeta>
<wp:meta_key>_thumbnail_id</wp:meta_key>
<wp:meta_value>566</wp:meta_value>
</wp:postmeta>
</item>
...
...
...
<item>
<title>My fantastic attachment</title>
<link>http://www.example.com/fantastic-attachment</link>
<wp:post_id>566</wp:post_id>
<wp:post_type>attachment</wp:post_type>
...
...
...
<wp:attachment_url>http://www.example.com/wp-content/uploads/2012/12/fantastic.jpg</wp:attachment_url>
<wp:postmeta>
<wp:meta_key>_wp_attached_file</wp:meta_key>
<wp:meta_value>2012/12/fantastic.jpg</wp:meta_value>
</wp:postmeta>
</item>
改造后我想
<item>
<title>Some groovy title</title>
<link>http://example.com/groovy-example</link>
<wp:post_id>2050</wp:post_id>
<wp:post_type>page</wp:post_type>
...
...
...
<wp:postmeta>
<wp:meta_key>_thumbnail_id</wp:meta_key>
<wp:meta_value>566</wp:meta_value>
<wp:meta_url>http://www.example.com/wp-content/uploads/2012/12/fantastic.jpg</wp:attachment_url>
</wp:postmeta>
</item>
也许,有更好的方法?也许合并帖子和附件,其中 id 在节点之间创建链接?
我是 XSLT 的新手,并且已经阅读了一些关于身份转换的帖子,我认为这是正确的方向,但我只是没有经验来获取我需要的东西,我们将不胜感激。