2012-07-16 73 views
1

我有一个XML文档,我需要将它导入到Django的数据库(postgres)中。我想首先这是可能的,如果是的话,我该如何去做呢?将XML文档导入Django(postgres)数据库

我是Python/Django的新手,我记得在python shell中运行一个命令时,有人将模型加载到db中,并想知道是否有类似的东西?

我有一个模型设置的内容进去。我只是想能够导入一个XML文档,因为有成千上万的项目被添加。

谢谢

+3

这是一个非常广泛的,可能会被关闭,除非你添加更多的具体信息。首先,查看http://lxml.de/进行分析。 – 2012-07-16 15:37:33

+2

您将需要包含XML文档的片段,任何人都可以开始提供特定的解决方案。 – 2012-07-16 16:12:55

+0

我为什么? XMl文档几乎都是一样的吗?我只想知道如何导入它们。这是一个非常直接的XML文档,所有的模型已经存在。 – JDavies 2012-07-17 08:11:45

回答

0

Django是不是一个数据库。

基本上,你的选择是:

  1. 如果XML是在Django使用夹具的格式,写相匹配的数据模型,并加载它作为灯具:https://docs.djangoproject.com/en/dev/howto/initial-data/#providing-initial-data-with-fixtures
  2. 如果你几乎有能力做1,你可以使用XSLT或其他一些变压器来解决这个问题。
  3. 创建您自己的自定义程序来提取数据,并创建模型作为结果。你仍然需要创建你的模型。
  4. 使用XML数据库,并将其挂接到django。
+0

谢谢,我会看看文档。 – JDavies 2012-07-16 16:06:05

+0

我不得不说,我推荐3,只要你适合解析XML对象。我怀疑这个XML是以Django友好的格式。在我的经验中,XSLT的学习曲线比Python更陡峭。 – 2012-07-16 16:14:25

+0

我不能说我以前做过。有没有我可以看看这样做的文件? (对不起,我真的是新手,所以任何帮助都会很棒!) – JDavies 2012-07-16 16:22:21

1

您是否为保存在XML文档中的数据编写了模型?假设是这样的话,这个页面Django文档应该有所帮助:

https://docs.djangoproject.com/en/1.2/howto/initial-data/#providing-initial-data-with-fixtures

+0

是的,我有一个模型所有设置,我只想将XML文档中的所有字段导入到模型字段中。 谢谢,我现在就去看看。 – JDavies 2012-07-16 15:40:17

+1

它没有xml格式的示例,但可以手动添加单个实例,然后将其转储为xml格式以查看django如何预期数据的外观。 – mattg 2012-07-16 15:42:35

+0

如果你需要一个体面的xml解析器,你可以自己编写代码来读取xml并添加django对象,我会推荐BeautifulSoup。 – mattg 2012-07-16 16:19:30