一个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如何从ImageIO中排除特定的TIFF读取器?   JavaJMockit和passbyreference。我们中一定有一个人错了(可能是我!)   java Android camera2放弃了牛轧糖的表面,但在棉花糖上工作   java按字符串中出现的顺序对字符数组进行排序   如何获取Groovy生成的java源代码   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java为什么我的冒泡排序代码会打印出这些奇怪的东西?   java JAXB:typesafeEnumMemberName=“generateName”是否可自定义?   Java编程输入:今天是星期天输出:星期天是今天   java不理解首个OOAD书的吉他示例   java如何从JformattedTextfield检索货币格式值   java可以从相同的源代码生成功能不同的可执行文件吗?