我有一些处理指令,就像下面这个在我的XML文件的顶部:
<?ID Object="AUTO_REPORT_OBJECT" Version="1.0"?>
我想阅读对象和版本属性值使用Go库。我使用Go 1.19.
我的XML文件是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<?ID Object="AUTO_REPORT_OBJECT" Version="1.0"?>
<?xml-stylesheet type="text/xsl" href="../XML/ProdRep.xsl"?>
<!DOCTYPE Auto_Report SYSTEM "../XML/ProdRep.dtd" [
<!ELEMENT Auto_Report (Production_Report+)>
]>
<Auto_Report>
<Production_Report Type="AUTO">
... more tags
</Production_Report>
</Auto_Report>
<?End?>
就XML而言,您可以在PI的内容中拥有任何您喜欢的内容,因此XML解析器对此没有帮助—您必须手动解析内容。
一种选择是取PI的数据部分,加上">
我不知道Go
,但你可以用python 3.11解析它。
import xml.etree.ElementTree as ET
for event, elem in ET.iterparse('your.xml', events=("pi")):
if event == "pi":
print(ET.tostring(elem))