![](/img/trans.png)
[英]how can I extract related attributes from different child level elements from XML file with Python ElementTree
[英]How can I include a link to XSLT file with Python ElementTree?
我正在努力使用 ElementTree 在我的 XML 中包含我的 XSLT 标头,但我找不到任何有关如何执行此操作的信息。
这是我的 Python 代码:
tree = ET.parse('myfile.xml') #get all tags from this XML document
root = tree.getroot() #get all elements from each tag
root[0][0].text = "ole"
root[0][1].text = "ole"
tree.write('test_file.xml', encoding='utf-8', method="xml") #write XML file
唯一的问题是包含这个标题:
<\\? xml-stylesheet type="text/xsl" href="myfile.xsl" \\?>
不幸的是xml.etree.ElementTree
不支持 XSLT(例如,您可以阅读write()
该method
是xml 、 text或html )。
我刚找到答案!!!
您需要改用 lxml,这是新代码:
from lxml import etree as ET
parser = ET.XMLParser(strip_cdata=False) #strip = false to prevent cdata to be removed/ stripped
tree = ET.parse('myfile.xml', parser)
root = tree.getroot() #get all elements from each tag
tag1 = root.find('TAG1')
tag1.find('TAG2').text = 'text change here'
tree.write('test_file.xml', encoding='utf-8', method="xml")
您的 XML 模板 (myfile.xml) 是这样的:
<?xml-stylesheet type="text/xsl" href="your_file.xsl" ?>
<FirstTAG>
<TAG1>
<TAG2>your text</TAG2>
</TAG1>
</FirstTAG>
新的将是这样的:
<?xml-stylesheet type="text/xsl" href="your_file.xsl" ?>
<FirstTAG>
<TAG1>
<TAG2>text change here</TAG2>
</TAG1>
</FirstTAG>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.