In [1]:
from lxml import etree

In [2]:
tree = etree.parse('c:/users/rsignell/downloads/00_dir_ROMS_display.ncml')

In [3]:
tree


Out[3]:
<lxml.etree._ElementTree at 0x3c2a088>

In [4]:
root = tree.getroot()

In [5]:
var = etree.SubElement(root, "{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable1")
var.set('name','salt')
a = etree.SubElement(var,'attribute')
a.set('name','standard_name')
a.set('value','time')

In [6]:
var = etree.SubElement(root, "{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable2",name='temp')
a = etree.SubElement(var,'attribute',name='standard_name',value='time')

In [7]:
var = etree.SubElement(root, "{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable3",name='u')
kw = dict(name='standard_name', value='time')
a = etree.SubElement(var,'attribute',**kw)

In [8]:
tree.write('foo.ncml')

In [7]:
for child in root:
    print(child.tag)


{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}attribute
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}aggregation
{http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2}variable1

In [8]:
a


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-60b725f10c9c> in <module>()
----> 1 a

NameError: name 'a' is not defined

In [ ]:
root = tree.getroot()
path = "//sml:identifier[@name='longName']/sml:Term/sml:value/text()"
namespaces = dict(sml="http://www.opengis.net/sensorML/1.0.1")
longName = root.xpath(path, namespaces=namespaces)

In [ ]:
a = root.find('long_name')

In [ ]:
a

In [ ]: