我正在开展一个使用谷歌数据存储模型的学术项目。我是谷歌应用引擎和python的新手。任何人都可以指向实例方法的示例' to_xml()' python中的谷歌数据存储模型类?我有点陷入困境,我的实施没有向前发展。
答案 0 :(得分:1)
为您的xml创建一个模板。填写他,作为html页面的普通模板
Example (first from found)
<?xml version='1.0' encoding='utf-8' ?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
<title>Ofertas de empleo en argentina</title>
<link></link>
<description>'title site'</description>
<lastBuildDate>{{date}}</lastBuildDate>
<generator>'site url'</generator>
{%for i in List%}
<item>
<guid isPermaLink='true'>{{i.url}}</guid>
<pubDate>{{i.date}}</pubDate>
<title>{{i.subject}}</title>
<link>{{i.url}}</link>
<description>{{i.text}}</description>
</item>
{%endfor%}
</channel>
</rss>
关于模板cloud.google.com/appengine/docs/python/gettingstartedpython27/templates
答案 1 :(得分:0)
您可以使用all NDB models上的dict
功能转换为to_dict()
。然后使用类似this package的内容转换为xml
因此,在模型定义中,您可以添加如下函数:
import dicttoxml
def to_xml(self):
return dicttoxml.dicttoxml(self.to_dict())
答案 2 :(得分:0)
我将从一般性评论开始。如果你开始使用appengine和python,你打算开发任何重要的东西。停下来开始查看ndb
。 to_xml()
方法是db
界面的一项功能,ndb
是操作的位置,ndb
解决了db
复杂使用时出现的一些问题1}}。
同样在你的问题中,你还没有真正说出你的问题或你想要达到的目标。更清晰一些可以帮助您获得一个明确的答案 - 请注意涵盖各种不同事物的各种答案。
关于如何使用它to_xml
。
调用.to_xml()将返回实体的xml表示。除非你想构建属性等的ATOMS,否则它没有很多用处。文档在这里https://cloud.google.com/appengine/docs/python/datastore/modelclass#Model_to_xml
以下是我们to_xml()
The db, ndb, users, urlfetch, and memcache modules are imported.
dev~cash-drawer> class MyClass(db.Model):
... name = db.StringProperty()
... value = db.IntegerProperty()
... state = db.BooleanProperty()
...
dev~cash-drawer> x = MyClass()
dev~cash-drawer> x.name = "hello world"
dev~cash-drawer> x.value = 101
dev~cash-drawer> x.state = False
dev~cash-drawer> x.to_xml()
u'<entity kind="MyClass">\n <property name="name" type="string">hello world</property>\n <property name="state" type="bool">False</property>\n <property name="value" type="int">101</property>\n</entity>\n'
dev~cash-drawer>
使其更具可读性
dev~cash-drawer> print x.to_xml()
<entity kind="MyClass">
<property name="name" type="string">hello world</property>
<property name="state" type="bool">False</property>
<property name="value" type="int">101</property>
</entity>
就是这样。