Generating Xml using python
Question: Kindly have a look at below code i am using this to generate a xml using
python .

    
    
    from lxml import etree
    
    
    # Some dummy text
    conn_id = 5
    conn_name = "Airtelll"
    conn_desc = "Largets TRelecome"
    ip = "192.168.1.23"
    
    # Building the XML tree
    # Note how attributes and text are added, using the Element methods
    # and not by concatenating strings as in your question
    root = etree.Element("ispinfo")
    child = etree.SubElement(root, 'connection',
                     number = str(conn_id),
                     name = conn_name,
                     desc = conn_desc)
    subchild_ip = etree.SubElement(child, 'ip_address')
    subchild_ip.text = ip
    
    # and pretty-printing it
    print etree.tostring(root, pretty_print=True)
    

This will produce:

    
    
    <ispinfo>
      <connection desc="Largets TRelecome" number="5" name="Airtelll">
        <ip_address>192.168.1.23</ip_address>
      </connection>
    </ispinfo>
    

But i want it to be like :

    
    
    <ispinfo>
      <connection desc="Largets TRelecome" number='1' name="Airtelll">
        <ip_address>192.168.1.23</ip_address>
      </connection>
    </ispinfo>
    

Mean number attribute should be come in a single quote .Any idea ....How can i
achieve this


Answer: There is no flag in lxml to do this, so you have to resort to manual
manipulation.

    
    
    import re
    re.sub(r'number="([0-9]+)"',r"number='\1'", etree.tostring(root, pretty_print=True))
    

However, why do you want to do this? As there is no difference other than
cosmetics.

