harirammano...@gmail.com writes:

> On Monday, April 25, 2016 at 4:09:26 PM UTC+5:30, Jussi Piitulainen wrote:
>> Peter Otten writes:
>> 
>> > harirammano...@gmail.com wrote:
>> >
>> >> Here is the code:
>> >
>> > Finally ;)
>> 
>> :)
>
> name space issue can be resolved registering name space i have no
> issue with that, only concern is xml parser has no effect when http
> things are added...

No, the parser works fine. Your attempt to register a default namespace
didn't work. Those "http things" *are* the namespace issue!

The following version of your code works. *Try it.* It finds the servlet
element in the document object, removes it, and writes out XML text
without the servlet element. (It seems to invent another namespace
prefix. That doesn't change the meaning of the document.)

import xml.etree.ElementTree as ET

ns = { 'x' : "http://xmlns.jcp.org/xml/ns/javaee"; }

tree = ET.parse('sample.xml')
root = tree.getroot()

for servlet in root.findall('x:servlet', ns):
    servletname = servlet.find('x:servlet-name', ns).text
    if servletname == "controller":
        root.remove(servlet)

tree.write('output.xml')
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to