将名称空间和属性添加到XML

时间:2014-11-21 19:15:59

标签: python xml namespaces lxml

我有一个xml文件,我需要添加命名空间和与命名空间关联的属性。

原始的xml看起来像这样

<ns0:quakeml xmlns:ns0="http://quakeml.org/xmlns/quakeml/1.2" xmlns="http://quakeml.org/xmlns/bed/1.2">
<eventParameters publicID="smi:URI/id">
<event publicID="URI/id">

我需要添加一个定义为

的命名空间
xmlns:catalog="http://anss.org/xmlns/catalog/0.1"

和事件标记的参数

catalog:datasource="foo"

其实我这样做:

xml.set("{http://anss.org/xmlns/catalog/0.1}catalog", 'http://anss.org/xmlns/catalog/0.1')

所以我得到了

<ns0:quakeml xmlns:ns0="http://quakeml.org/xmlns/quakeml/1.2" xmlns="http://quakeml.org/xmlns/bed/1.2" xmlns:ns1="http://anss.org/xmlns/catalog/0.1" ns1:catalog="http://anss.org/xmlns/catalog/0.1">

与我想要的完全不一样。

插入我做的属性

event.attrib['eventsource'] = 'foo'

但它不添加任何命名空间

0 个答案:

没有答案