(Oct-15-2022, 02:29 PM)SriRajesh Wrote: But I want to add header and root node so the my output looks like:You use library that deal with this as ndc85430 posted,i always use BS | lxml for task like this like.
Example.
from bs4 import BeautifulSoup xml = '''\ <values> <item> <A>1</A> <B>a</B </item> <item> <A>2</A> <B>b</B> </item> <item> <A>3</A> <B>c</B> </item> </values>''' soup = BeautifulSoup(xml, "xml") # Make headertag new_tag = soup.new_tag("header") soup.select_one('values').insert_before(new_tag) # Append sub tag to header tag header_tag = soup.select_one('header') new_tag1 = soup.new_tag("names") new_tag1.string = "test" header_tag.append(new_tag1) print(soup)
Output:<?xml version="1.0" encoding="utf-8"?>
<header>
<names>test</names>
</header>
<values>
<item>
<A>1</A>
<B>a</B>
</item>
<item>
<A>2</A>
<B>b</B>
</item>
<item>
<A>3</A>
<B>c</B>
</item>
</values>