import xml
import xml.etree.ElementTree as ET

def WriteXMLAttribute(parentElement, attributeName, attributeText):
    subelement = ET.SubElement(parentElement, attributeName)
    subelement.text = attributeText

def AddDeviceXML(parentElement, ipaddress, subnetmask, defaultgateway, dnsserver):
    WriteXMLAttribute(parentElement, 'ipaddress', ipaddress)
    WriteXMLAttribute(parentElement, 'subnetmask', subnetmask)
    WriteXMLAttribute(parentElement, 'defaultgateway', defaultgateway)
    WriteXMLAttribute(parentElement, 'dnsserver', dnsserver)

def CreateDevice(parentElement, hostname, ipaddress, subnetmask, defaultgateway, dnsserver):
    dev = ET.SubElement(parentElement, 'device', attrib={'hostname': hostname})
    AddDeviceXML(dev, ipaddress, subnetmask, defaultgateway, dnsserver)

data = ET.Element('devices')
CreateDevice(data, "Router", "192.168.0.1", "255.255.255.0", "103.25.93.248", "103.25.93.250")
CreateDevice(data, "PC-1", "192.168.0.2", "255.255.255.0", "192.168.0.1", "192.168.0.1")
CreateDevice(data, "PC-2", "192.168.0.3", "255.255.255.0", "192.168.0.1", "192.168.0.1")
CreateDevice(data, "Server", "192.168.0.4", "255.255.255.0", "192.168.0.1", "192.168.0.1")

tree = ET.ElementTree(data)
tree.write("example2.xml")