У меня есть много .xml файлов в моем git-репо.Когда вы редактируете их вручную, я бы предпочел, чтобы изменения были дружественными.
Например:
до:
<Item shape="circle" color='red' location="left">
<stuff /><!-- some comment-->
<thing/>
</Item>
после:
<Item shape="circle" color='red'>
<stuff /><!-- some comment-->
</Item>
diff: (жирная часть в оболочке отображается красным цветом)
$ git diff HEAD^..HEAD --color-words=.
diff --git a/x.xml b/x.xml
index 97855cd..baefd5f 100644
--- a/x.xml
+++ b/x.xml
@@ -1,4 +1,3 @@
<Item shape="circle" color='red'
location="left"
>
<stuff /><!-- some comment-->
<thing/>^M
</Item>
Однако, когда есть много файлов для изменения, я хочу иметь некоторые инструменты (желательно в Python), чтобы сделать это автоматически.Например, используйте XPATH, чтобы удалить все атрибуты location
тегов Item
с атрибутом color='red'
, но при этом быть удобными для сравнения.
Если есть синтаксический анализатор XML, который может предоставить вам исходное местоположение каждогоэлемент в оригинальном потоке байтов, с небольшим программированием, я думаю, что это может быть сделано.Но я не нашел такого парсера.
У вас есть хорошие идеи?