一个python库和命令行工具,用于“美化”和着色xml。

pxml的Python项目详细描述


一个python库和命令行工具,用于“美化”和着色xml。 它还提供了一个UNITest.TestCaskMin添加了 assertXmlEqual方法,在差异上,显示“漂亮的”差异。

安装

$ pip install pxml

在命令行中

$ echo'<root><node attr="value">foo</node></root>'| pxml
<?xml version="1.0"encoding="UTF-8"?>
<root>
  <node attr="value">foo</node>
</root>

并添加一些颜色:

pxml with color

作为python模块

importpxml,sixsrc=six.StringIO('<root><node attr="value">foo</node></root>')out=six.StringIO()pxml.prettify(src,out)assert(out.getvalue()=='''\
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <node attr="value">foo</node>
</root>
''')

单元测试

pxml.XmlTestMixin类将assertXmlEqual方法添加到 子类,它允许对两个xml结构进行简单的语义比较 相当于。它通过忽略可忽略的空白,属性 字节级的顺序、引号类型和其他差异 序列化时的差异,但实际上并不表示语义 差异。当检测到差异时,显示XML 为了便于比较,“美化”xml中的差异。

importunittest,pxmlclassMyTestCase(unittest.TestCase,pxml.XmlTestMixin):deftest_equivalent_xml(self):src='<root  ><node a="1" b="0"/></root>'chk='<root><node   b="0" a="1"  /></root  >'self.assertXmlEqual(src,chk)deftest_different_xml(self):src='<root  ><node a="1" b="0"/></root>'chk='<root><node   b="1" a="0"  /></root  >'self.assertXmlEqual(src,chk)# this fails the test and produces the following error message:#   AssertionError: [truncated]... != [truncated]...#     <?xml version="1.0" encoding="UTF-8"?>#     <root>#   -   <node a="1" b="0"/>#   +   <node a="0" b="1"/>#     </root>

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

推荐PyPI第三方库


热门话题
缺少java MIMessage附件   java试图从JSON数组向数据库插入数据   铸造java。util。ArrayList无法转换为java。util。矢量   在到达末尾后从头开始读取csv文件(Java、OpenCSV)   Java swing如何在另一个线程中打开框架   java如何为集合正确编写此比较器。排序(arrayList、comparator)?   JavaOOD将配置传递给外部类的最佳方式   java不确定如何使用switch语句从main()调用要运行的方法   java循环菜单以在选择后显示   java将位置对象转换为地址(谷歌地图)   java Hazel cast客户端端口问题   使用JarJar重新打包工具的java   使用Java Netscape目录LDAP API和二进制筛选器值   java如何从Google App Engine下载应用程序源文件   java如何居中javafx场景图“摄影机”   java调用servlet而不提交并停留在同一个JSP页面中   将文本文件加载到HashMap<Integer,List<String>>java中   JavaFX平台。重新加载站点后运行更高版本()