Php 从其他(xml)内容自动创建drupal页面(节点)

Php 从其他(xml)内容自动创建drupal页面(节点),php,xml,drupal,Php,Xml,Drupal,我目前有一个来自客户机的XML格式的数据源,这个XML包含我们正在制作的网站将包含的所有页面的内容。现在,在解析和准备所有这些内容之后,有人知道我们如何(使用)PHP自动创建drupal节点(包括该节点的所有相关字段,即CCK字段、路径) 理想情况下,我们可以将所有内容发送到一个函数,然后创建节点。现在我不介意直接把它放到db中,但我不太确定更新了哪些db表(因为drupal设置有大量的表) 我已经搜索了google和drupal文档,但我真的找不到这方面的内容(我认为这是drupal上web开

我目前有一个来自客户机的XML格式的数据源,这个XML包含我们正在制作的网站将包含的所有页面的内容。现在,在解析和准备所有这些内容之后,有人知道我们如何(使用)PHP自动创建drupal节点(包括该节点的所有相关字段,即CCK字段、路径)

理想情况下,我们可以将所有内容发送到一个函数,然后创建节点。现在我不介意直接把它放到db中,但我不太确定更新了哪些db表(因为drupal设置有大量的表)

我已经搜索了google和drupal文档,但我真的找不到这方面的内容(我认为这是drupal上web开发人员经常使用的简单功能)

非常感谢您的意见

提前感谢,


Shadi

您应该能够使用它。我还没有尝试使用cck字段,但是如果添加字段,它们应该通过钩子运行来保存。但是,如果您不通过代码创建带有字段的节点类型,则该函数将取决于您在管理界面中所做的设置

您可以使用Drupal的
node\u save
功能,如下所示:

require 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$node = new stdClass();

$node->title = "My imported node";
$node->body = "The body of my imported node.";
$node->type = 'story'; 
$node->created = time();
$node->changed = $node->created;
$node->status = 1;
$node->promote = 1;
$node->sticky = 0;
$node->format = 1;
$node->uid = 1;

node_save($node);

有关更多信息,请参阅Acquia网站上的这篇文章(包括CCK字段,如果您使用的是pathauto,它应该在
node\u save
)上创建路径):

node\u save
如果您在数组结构中设置了正确的类型和格式字段,则适用于CCK