pythonic xml数据绑定包

NodeTree的Python项目详细描述


nodetree为在python中使用xml提供了一个干净、现代的api。

版本0.3增加了对XML文档解析的支持:

>>> importnodetree>>> d=nodetree.Document('<article><p>Pre <b>Bold</b> Post</p></article>')>>> d<?xml version="1.0"?>
<article>
  <p>Pre <b>Bold</b> Post</p>
</article>
>>> str(d.root)'<?xml version="1.0"?>\n<article><p>Pre <b>Bold</b> Post</p></article>\n'
>>> d.root[0]<p>Pre <b>Bold</b> Post</p>
>>> d.root[0].pop()' Post'
>>> d.root[0][0]='Plain Text vs '>>> d.root<article>
  <p>Plain Text vs <b>Bold</b></p>
</article>

XML流(如xmpp)现在也支持渐进式解析:

>>> importnodetree>>> s=nodetree.Stream('<stream:stream xmlns="jabber:client" '+                        'xmlns:stream="http://etherx.jabber.org/streams">')
>>> s.send('<message><body>Hello, World!</body></message>')>>> s.root.pop(0)<message>
  <body>Hello, World!</body>
</message>
>>> s.send('<message><body>This works')>>> s.root.pop(0)Traceback (most recent call last):
  File "<stdin>", line 1, in <module>ValueError: incomplete branch>>> s.send(' well</body></message>')>>> s.root.pop(0)<message>
  <body>This works well</body>
</message>

此版本还添加了对ProcessingInstruction节点和修复程序的支持 关于XML分支拼接和合并的几个错误。

警告

nodetree仍处于早期开发阶段;此版本缺少几个基本的 特性和包含已知的错误,这些错误可能使它不适合许多 应用。值得注意的是,当前无法从 python,不支持cdata节点、xpath或xslt。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务