python-3.x - xmldiff,如何抑制空格差异
问题描述
我正在尝试在单元测试中使用 xmldiff 来比较 xml。我有 2 个 xml,我很高兴它们是相同的(并且 notepad++ 同意我的观点)。
如果我做
from xmldiff import main, formatting
diff = main.diff_trees(actual.getroot(),expected.getroot())
虽然我得到了一个空白差异列表,但我想忽略它......例如
[UpdateTextIn(node='/schedule[1]', text='\n '),
UpdateTextIn(node='/schedule/contentGroups[1]', text='\n '),
UpdateTextAfter(node='/schedule/contentGroups[1]', text='\n '),
UpdateTextIn(node='/schedule/transmissions[1]', text='\n '),
UpdateTextAfter(node='/schedule/transmissions[1]', text='\n'),
etc
如何抑制这些差异?
解决方案
好的,我怀疑人们会惊恐万分,我不是python程序员,但这似乎可行
diff = main.diff_trees(expected.getroot(),actual.getroot())
meaningfulDiffs = \
list(
filter(
lambda line: (line.text != None) and (line.text != ""),
diff
)
)
self.assertFalse(any(meaningfulDiffs),msg = "errors=" + pprint.pformat(meaningfulDiffs))
推荐阅读
- android - Android向动画添加自定义插值器可防止动画被取消
- excel - 无法使用 VBA 从 Excel 打开现有的 PowerPoint 演示文稿 (2016)
- firebase - Firestore 如何检索子集合
- r - 如何在 R 中返回带有数据框的向量?
- visual-studio - 无法从 Visual Studio 中的 TFS 项目中修改或删除标签
- python - 将非结构化 pandas 数据帧修改为新的结构化数据帧
- sql - 创建一个组合主键,其中一列接受 NULL
- mysql - Sequelize cast in MAX 导致 TypeError: smth.col.startsWith
- python - Selenium 在同一框架内找不到第二个元素
- r - 将数据写入相同xlsx的不同工作表