一个xml封送和解封库
GeneralMarshall的Python项目详细描述
GeneralMarshall是一个用于处理xml的包。它由一个 应该为使用而子类化的抽象类。
许可证
GeneralMarshall在gnu greater public许可下发布。放心吧 以任何你认为合适的方式重复使用或分发我会很感激的 being notified如果使用库和/或 功能请求或建议。
用法
该类广泛使用重写的__getattr__和 __setattr__以便使用pythonic设置XML标记值 编程接口。为了实现这一点,XML文件的标记 继承权必须在实现GeneralMarshall的子类中定义。 这是通过设置私有类属性_namespace来完成的, _root_name,_unique_tags,_unique_tag_attributes和 _tag_hierarchy。
当子类知道它应该使用的XML文件的可能结构时 交互可以如下:
import general_marshall class MyXML(general_marshall.XML): ... # Load XML file xml_object = MyXML("file_name.xml") # Print pretty printed XML to stdout print(xml_object) # Create empty XML object new_xml = MyXML() # Set a tag value, creating parent nodes if necessary new_xml.value = "something" # Export to file new_xml.export("output_file.xml")
尽管lxml用于与读取或 创建的,不是所有GeneralMarshall可以从中获益的函数 lxmlmost用于维护与Python内置的兼容性 xml库。这是因为GeneralMarshall用于 有些地方lxml不可用。
版本控制
版本号使用Semantic Versioning设置。