从模型数据生成 XML 文件

2024-02-16

我需要编写模型数据(CharField仅 s)到 XML 文件以包含 flash 文件的数据。我对此很陌生,并且我对在 django 中执行此操作的过程有点不清楚。我正在创建一个 xml 文件,然后将文本数据写入该文件(与 csv 模块所做的一样,但写入 xml)。应该会生成一个非常简化的 xml 文件供 flash 文件读取,即:

<?xml version="1.0" encoding="UTF-8"?>
<textFields>
     <textField id="0" text="HELLO WORLD" />
     <textField id="1" text="HELLO EARTH" />
     ...
</textFields>

1.我使用序列化器从模型写入 xml 数据:

from django.core import serializers
data = serializers.serialize('xml', myModel.objects.filter(instanceIwantTowrite), fields=('fieldName'))

2.然后我使用创建文件core.files:

from django.core.files import File    
f = open('/path/to/new/dir/content.xml', 'w')
myfile = File(f)

3.写入文件数据并关闭:

myfile.write(data)

myfile.close()

到目前为止,尽管 xml 输出包含对象“django-objects”等的字段,但我必须看看是否可以在 ActionScript 中轻松地为 flash 文件解释它。我更喜欢像在 csv 模块中一样手动定义 xml 字段名称。由于我是 django 和 python 的新手,我想知道是否有更简单的方法来做到这一点?

Note:在序列化器中,我对模型对象使用过滤器,因为使用get对于模型实例返回一个object not iterable错误。事实上,我过滤它两次以获得一个实例,似乎必须有更好的方法。


这里有两种可能的解决方案:

1.

您可以扩展基本 django xml 序列化器(django.core.serializers.xml_serializer.Serializer)并修改它,以便它将返回结构中的数据。然后你可以运行 ex.

YourSerializer('xml', myModel.objects.filter(instanceIwantTowrite), fields=('fieldName'))

它会在你的结构中输出数据。

2.

编写简单的函数,使用您的数据结构呈现模板并以您的格式返回 xml 数据:

Python代码

from django.template.loader import render_to_string

def my_serialize(query_set):
    xml = render_to_string('xml_template.xml', {'query_set': query_set})

    return xml

模板 xml_template.xml

<?xml version="1.0" encoding="UTF-8"?>
<textFields>
     {% for object in query_set %}
     <textField id="{{ object.pk }}" text="{{ object.my_field }}" />
     {% endfor %}
</textFields>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从模型数据生成 XML 文件 的相关文章

  • 如何在 pygame 中聚焦光线或如何仅绘制窗口的某些圆形部分?

    对于这一点 如果您熟悉它 请想想 超级马里奥制造2 中嘘关卡中的黑暗模式 我试图在角色周围创建一个圆形聚光灯 这也将使圆圈范围内的任何内容都可见 例如部分站在地板上 敌人或场景中的任何其他物体 我的计划是首先绘制圆圈 聚光灯 然后绘制场景
  • Pygame 玩家精灵没有出现

    我一直在为学校计算机课做这个项目 但无法让玩家精灵出现 有人可以帮忙吗 当我运行主游戏循环时 除了玩家精灵之外 所有内容都正确显示 它应该由于箭头输入而在屏幕上移动并受到重力的影响 当我删除图像并仅使用对象类和矩形时 该代码也有效 impo
  • 如何更改条形图上的 y 轴限制?

    我有一个df 我从中索引了europe n我绘制了一个条形图 europe n r 5 c 45 looks like this df Country string df Population numeric 变量 plt bar df C
  • WTForms 中的小数字段舍入

    我有一个包含价格小数字段的表单 如下所示 from flask ext wtf import Form import wtforms from wtforms validators import DataRequired from deci
  • numpy 数组最快的保存和加载选项

    我有一个生成二维的脚本numpy数组与dtype float和形状的顺序 1e3 1e6 现在我正在使用np save and np load对数组执行 IO 操作 然而 这些函数对于每个数组都需要几秒钟的时间 是否有更快的方法来保存和加载
  • 使用子图绘制 pandas 数据框 (subplots=True):放置图例并使用紧凑的布局

    我真的很喜欢 pandas 来处理和分析大数据集 到目前为止 我主要使用 matplotlib 进行绘图 但现在想使用 pandas 自己的绘图功能 基于 matplotlib 因为它需要更少的代码 并且在大多数情况下对我来说似乎足够了 尤
  • Python 函数可能会引发哪些异常? [复制]

    这个问题在这里已经有答案了 Python 中有什么方法可以确定 内置 函数可能引发哪些异常 例如 文档 http docs python org lib built in funcs html http docs python org li
  • 在 Ubuntu 上使用 Python 获取显示器分辨率

    对于 Ubuntu win32api 中是否有与 GetSystemMetrics 相当的代码 我需要获取显示器的宽度和高度 以像素为单位 我可以建议一些可以使用的方法 不过我还没有使用过 xlib 版本 1 xlib Python 程序的
  • 将 csv 文件按多列拆分为 panda 数据框

    我有一个包含多列的 tsv 文件 有 10 多列 但对我来说重要的列是名称为 user name shift id url id 的列 我想创建一个数据框 首先根据用户名分隔整个 csv 文件 即只有具有相同用户名的行才会分组在一起 从该块
  • Python3.1中的视图?

    Python3 1中的视图到底是什么 它们的行为方式似乎与迭代器类似 并且它们也可以具体化为列表 迭代器和视图有何不同 据我所知 视图仍然附加到创建它的对象上 对原始对象的修改会影响视图 来自docs http docs python or
  • 尝试在 Mac OSX 上的 virtualenv 和 MySQL 中安装 Django CMS 时出错

    当我尝试使用 virutalenv 安装带有 MySQL 的 django CMS 时 出现以下错误 RuntimeError maximum recursion depth exceeded Users ethan Sites env b
  • 尝试修复我的功能

    我正在开发一个函数 我必须返回一个元组 其中第一个参数是最大数字的 str 第二个参数是 int 列表 这是示例以及我为该函数编写的内容 投票 G G N G C G 1 3 0 1 您必须将最大值的位置映射到正确的一方 parties N
  • 具有条件的重复行 pandas dataframe python

    我的数据框有问题 我的 df 是 product power brand product 1 3 x 1500W brand A product 2 2x1000W 1x100W product 3 1x1500W 1x500W brand
  • 在Python中引用不带换行符的长字符串

    我正在尝试在 Python 中编写一个长字符串 该字符串显示为 OptParser 选项的帮助项 在我的源代码 py 文件中 我想放置换行符 以便我的代码不会花费新行 但是 我不希望这些换行符影响代码运行时该字符串的显示方式 例如 我想写
  • 仅对某些行的不同大小的两个 pandas 数据帧的列进行求和

    我有两个 pandas 数据框 如下所示 df1 n column1 0 5 0 0 0 1 6 0 0 0 2 7 0 0 0 3 8 0 0 0 4 9 0 0 0 5 10 0 0 0 df2 n column2 0 6 0 1 0
  • 在字典理解中为 locals() 添加下标失败并出现 KeyError [重复]

    这个问题在这里已经有答案了 我对 Python 的奇怪行为感到困惑locals 基本上我想从字典中获取一个项目locals 在字典理解中 但它失败了 这是一个非常基本的事情 所以 gt gt gt foo 123 gt gt gt bar
  • 在 python 中使用递归替代 len()

    作为 CS1301 问题的一部分 我正在尝试使用递归编写一个函数 该函数将执行与 len 完全相同的操作 但是 我有两个问题 我正在使用全局变量 但我在课程中还没有学到这一点 cs1301 自动评分器告诉我 我的函数返回 26 而不是 13
  • 用于桌面数据库应用程序的 Python 框架

    是否有一个框架可以为Python开发桌面数据库应用程序 一些带有CRUD屏幕的屏幕 我正在寻找类似于 Windows 窗体的东西 能够将 TextField Combos 和其他 UI 隐喻与datasets连接到关系数据库例如 MySQL
  • Python请求401错误但url在浏览器中打开

    我正在尝试从这个位置提取 json https www nseindia com api option chain indices symbol BANKNIFTY https www nseindia com api option cha
  • Python pip 安装错误 [SSL: CERTIFICATE_VERIFY_FAILED]

    我已经尝试解决这个问题有一段时间了 由于某种原因 我陷入了 ssl 问题 并且不知道发生了什么 问题 我已经安装了 python2 7 和 easy install2 7 但是当尝试使用 easy install2 7 安装 pip 时 出

随机推荐