Python Lxml将标签替换为多个其他标签
因此,我使用LXML来解析/编辑一个XML文件,它看起来像Python Lxml将标签替换为多个其他标签,python,lxml,Python,Lxml,因此,我使用LXML来解析/编辑一个XML文件,它看起来像 <abc> <metadata x="..." y="..." z="..."> ... </abc> ... 并希望将其(就地)替换为 ... 我该怎么做呢。我已经提取了x、y、z标记,但现在需要弄清楚如何使用此数据再创建3个标记并将其插入etree。另一种方法 from simplified_scrapy impor
<abc>
<metadata x="..." y="..." z="...">
...
</abc>
...
并希望将其(就地)替换为
...
我该怎么做呢。我已经提取了x、y、z标记,但现在需要弄清楚如何使用此数据再创建3个标记并将其插入etree。另一种方法
from simplified_scrapy import SimplifiedDoc, utils, req
xml = '''
<abc>
<metadata x="111" y="222" z="333" />
...
</abc>
'''
doc = SimplifiedDoc(xml)
metadata = doc.metadata
doc = SimplifiedDoc('<abc></abc>')
abc = doc.abc
for key in metadata:
if key=='tag' or key=='html':
continue
abc.appendChild('<tag key="{0}" value="{1}" />'.format(key,metadata[key]))
print (doc.html)
从simplified\u scrapy导入SimplifiedDoc、utils、req
xml=“”
...
'''
doc=SimplifiedDoc(xml)
元数据=doc.metadata
doc=SimplifiedDoc(“”)
abc=doc.abc
对于键入元数据:
如果key=='tag'或key=='html':
持续
abc.appendChild(“”.format(key,metadata[key]))
打印(doc.html)
结果:
<abc><tag key="x" value="111" /><tag key="y" value="222" /><tag key="z" value="333" /></abc>
另一种方法
from simplified_scrapy import SimplifiedDoc, utils, req
xml = '''
<abc>
<metadata x="111" y="222" z="333" />
...
</abc>
'''
doc = SimplifiedDoc(xml)
metadata = doc.metadata
doc = SimplifiedDoc('<abc></abc>')
abc = doc.abc
for key in metadata:
if key=='tag' or key=='html':
continue
abc.appendChild('<tag key="{0}" value="{1}" />'.format(key,metadata[key]))
print (doc.html)
从simplified\u scrapy导入SimplifiedDoc、utils、req
xml=“”
...
'''
doc=SimplifiedDoc(xml)
元数据=doc.metadata
doc=SimplifiedDoc(“”)
abc=doc.abc
对于键入元数据:
如果key=='tag'或key=='html':
持续
abc.appendChild(“”.format(key,metadata[key]))
打印(doc.html)
结果:
<abc><tag key="x" value="111" /><tag key="y" value="222" /><tag key="z" value="333" /></abc>
新元素是使用etree.Element()或etree.SubElement()创建的。然后如何将这些新元素添加为同级元素?不管怎样,只需找到父元素和did parent.insert新元素是使用etree.Element()
或etree.SubElement()
创建的。然后如何将这些新元素添加为同级元素?不管怎样,只需找到父元素并执行parent.insert