从Python解析函数,创建XML对象

xml-python的Python项目详细描述


xml_对象

使用修饰函数从XML创建Python对象来解析节点。在

使用

基本解析器

这个包依赖于“解析器”的创建来解析“节点”。在

考虑一下这个XML:

<root>
<title>Tis is a title</title>
<text>This is some text</text>
</root>

存在三个节点:roottitle,和{}。所有这些都必须用Python编写:

^{pr2}$

安装完成后,我们可以使用Builder的from_string方法打印消息,如下所示:

builder.from_string(xml)

属性

属性可用于向解析器提供关键字参数。考虑Flask示例中的以下示例节点:

<app name="flask-app" host="0.0.0.0" port="8000">
...
</app>```

The app parser in `xml_objects/ext/flask.py` expects `name`, `host`, and `port` as keyword arguments, and provides sensible defaults accordingly:

在@生成器.分析器(“应用程序”) def get_app(parent,text,name=name,host='0.0.0.0',port='4000'): “”“返回烧瓶应用程序。”“” 如果父项不是非父项: 引发运行时错误( '这必须是顶级标记。\n父级:%r'%parent ) app=烧瓶(名称) 应用程序配置['HOST']=主机 应用程序配置['PORT']=int(端口) 退货申请


### Storage
While you could use xml_objects to build GUIs with [wxPython](https://wxpython.org/) for example, xml_objects itself doesn't provide any mechanism to store state, so this must be done by the programmer.

For examples, see `xml_objects/ext/wx.py`.

### Iterators
Sometimes it may be desirable to run code after you have created an object, and all child tags have been processed. For this reason, it is possible to use generators in your parsers:

在@生成器.分析器(“框架”) def get_frame(父级,文本): “”“创建一个框架,然后在其他人完成后完成它。”“” f=框架() 收益率f f、 定稿()


If you yield more than once, RuntimeError will be raised.



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

推荐PyPI第三方库


热门话题
Java例外。Lang.Stringindexoutofboundsexception索引超出范围(0)   java Spring引导Freemarker从2.2.0升级失败   重构Java反模式名称?包含对象的对象包含。。。等   用java处理JDBC可能出现的死锁的最佳方法   java无法访问主线程上的数据库,因为它可能会在很长一段时间内锁定UI   java如何将固定大小的画布包装在边框窗格中的滚动窗格居中?   java解析xsd文件后得到空结果   在html页面中表示XML文件的java   socketjava对象流   sql Java越界异常数据库   JavaJBoss7.1.1不会在Mavericks上启动   Twincat ADS事件驱动读取在一段时间后停止工作(Java)   java MyBatis使用生成的ID插入所有   Mojave上缺少MacOS Java控制面板   JavaGuice:如果多次注入相同的依赖项,是否注入了该依赖项的相同实例?