How to comment an entire specific block and a particular tag of xml in python ?
In below xml, there are many <list>
tags.
1) Have to comment entire block <list> {some_data}</list>
, where <list name="list_name1">
2) If you observe <list name="list_name3">
, there are 2 <p> tags
in a <item>
.
<p name="address1">some/address-3</p><p name="address1_1">some/address-1_1</p>
Here, have to comment second <p> tag
, ie.,<p name="address1_1">some/address-1_1</p>
, all such instances.
How can we achieve this in python ?
Which is best xml module in python ?
sample_file.xml
<raml xmlns="abcd.xsd" version="0.1">
<newData type="hw">
<header>
<log action="create" dateTime="2020-01-15T16:45:12.001Z" />
</header>
<sampleObject class="com.abcd.efgh:VASDF" distName="some_unique_name" operation="update" version="HDGEKB_8363_845">
<p name="p_name1">true</p>
<list name="list_name1">
<item>
<p name="address1">some/address-1</p>
<p name="value">some/value-1</p>
</item>
<item>
<p name="address1">some/address-2</p>
<p name="value">some/value-2</p>
</item>
<item>
<p name="address1">some/address-3</p>
<p name="value">some/value-3</p>
</item>
<item>
<p name="address1">some/address-4</p>
<p name="value">some/value-4</p>
</item>
<item>
<p name="address1">some/address-5</p>
<p name="value">some/value-5</p>
</item>
<item>
<p name="address1">some/address-6</p>
<p name="value">some/value-6</p>
</item>
</list>
<list name="list_name2">
<item>
<p name="address1">some/address-1</p>
<p name="value">1</p>
</item>
<item>
<p name="address1">some/address-2</p>
<p name="value">2</p>
</item>
<item>
<p name="address1">some/address-3</p>
<p name="value">3</p>
</item>
<item>
<p name="address1">some/address-4</p>
<p name="value">4</p>
</item>
<item>
<p name="address1">some/address-5</p>
<p name="value">5</p>
</item>
<item>
<p name="address1">some/address-6</p>
<p name="value">6</p>
</item>
</list>
<list name="list_name3">
<item>
<p name="address1">some/address-1</p>
<p name="address1_1">some/address-1_1</p>
<p name="value">1</p>
</item>
<item>
<p name="address1_1">some/address-1_1</p>
<p name="value">1_1</p>
<item>
<item>
<p name="address1">some/address-2</p>
<p name="value">2</p>
</item>
<item>
<p name="address1">some/address-3</p>
<p name="address1_1">some/address-1_1</p>
<p name="value">3</p>
</item>
<item>
<p name="address1_1">some/address-1_1</p>
<p name="value">3_3</p>
<item>
<item>
<p name="address1">some/address-4</p>
<p name="value">4</p>
</item>
<item>
<p name="address1">some/address-5</p>
<p name="value">5</p>
</item>
<item>
<p name="address1">some/address-6</p>
<p name="value">6</p>
</item>
</list>
</sampleObject>
</newData>
</raml>
output_file.xml , should look like below
<raml xmlns="abcd.xsd" version="0.1">
<newData type="hw">
<header>
<log action="create" dateTime="2020-01-15T16:45:12.001Z" />
</header>
<sampleObject class="com.abcd.efgh:VASDF" distName="some_unique_name" operation="update" version="HDGEKB_8363_845">
<p name="p_name1">true</p>
<!--<list name="list_name1">
<item>
<p name="address1">some/address-1</p>
<p name="value">some/value-1</p>
</item>
<item>
<p name="address1">some/address-2</p>
<p name="value">some/value-2</p>
</item>
<item>
<p name="address1">some/address-3</p>
<p name="value">some/value-3</p>
</item>
<item>
<p name="address1">some/address-4</p>
<p name="value">some/value-4</p>
</item>
<item>
<p name="address1">some/address-5</p>
<p name="value">some/value-5</p>
</item>
<item>
<p name="address1">some/address-6</p>
<p name="value">some/value-6</p>
</item>
</list> -->
<list name="list_name2">
<item>
<p name="address1">some/address-1</p>
<p name="value">1</p>
</item>
<item>
<p name="address1">some/address-2</p>
<p name="value">2</p>
</item>
<item>
<p name="address1">some/address-3</p>
<p name="value">3</p>
</item>
<item>
<p name="address1">some/address-4</p>
<p name="value">4</p>
</item>
<item>
<p name="address1">some/address-5</p>
<p name="value">5</p>
</item>
<item>
<p name="address1">some/address-6</p>
<p name="value">6</p>
</item>
</list>
<list name="list_name3">
<item>
<p name="address1">some/address-1</p>
<!--<p name="address1_1">some/address-1_1</p>-->
<p name="value">1</p>
</item>
<item>
<p name="address1_1">some/address-1_1</p>
<p name="value">1_1</p>
<item>
<item>
<p name="address1">some/address-2</p>
<p name="value">2</p>
</item>
<item>
<p name="address1">some/address-3</p>
<!--<p name="address1_1">some/address-1_1</p>-->
<p name="value">3</p>
</item>
<item>
<p name="address1_1">some/address-1_1</p>
<p name="value">3_3</p>
<item>
<item>
<p name="address1">some/address-4</p>
<p name="value">4</p>
</item>
<item>
<p name="address1">some/address-5</p>
<p name="value">5</p>
</item>
<item>
<p name="address1">some/address-6</p>
<p name="value">6</p>
</item>
</list>
</sampleObject>
</newData>
</raml>
). Can you help me ?
– StackGuru Apr 08 '20 at 06:25