我用 QXmlStreamWriter 创建了一个 xml 文件,然后我想在每次关闭 xml 文件之前添加一个块。但是,我要做的是使用 startDocument 将块添加到文件的末尾,所以在每次添加时我都有一个 XML 标头,为此我在读取文档时出错,程序读取第一个块并当它进入第二个块时,它显示“xml 声明不在文档层”这是我的文件:
<?xml version="1.0" encoding="UTF-8"?>
<Fiche_Du_Patient>
<INFORMATIONS_DU_PATIENT>
<Hopital>a </Hopital>
<Num_dossier>b</Num_dossier>
<Nom_et_prenom>c</Nom_et_prenom>
<Date_de_naissance>11111</Date_de_naissance>
<Sex>F </Sex>
<Age>26</Age>
<Date_examen>22222</Date_examen>
<Medecin_traitant></Medecin_traitant>
<Rapport></Rapport>
</INFORMATIONS_DU_PATIENT>
<NUMERO_SLICE>
<Num_Slice>1</Num_Slice>
<COORDONEES>
<X1>7.32896</X1>
<Y1>10.6362</Y1>
<X2>8.96937</X2>
<Y2>9.28687</Y2>
</COORDONEES>
<DISTANCE>
<Distance_en_cm>2.1241</Distance_en_cm>
</DISTANCE>
<ANGLE>
<Angle>7</Angle>
</ANGLE>
</NUMERO_SLICE>
</Fiche_Du_Patient>
<?xml version="1.0" encoding="UTF-8"?>
<NUMERO_SLICE>
<Num_Slice>2</Num_Slice>
<COORDONEES>
<X1>7.80521</X1>
<Y1>10.3452</Y1>
<X2>9.49854</X2>
<Y2>9.525</Y2>
</COORDONEES>
<DISTANCE>
<Distance_en_cm>1.88152</Distance_en_cm>
</DISTANCE>
<ANGLE>
<Angle>1</Angle>
</ANGLE>
</NUMERO_SLICE>
<?xml version="1.0" encoding="UTF-8"?>
<NUMERO_SLICE>
<Num_Slice>3</Num_Slice>
<COORDONEES>
<X1>6.69396</X1>
<Y1>10.8215</Y1>
<X2>9.26042</X2>
<Y2>9.47208</Y2>
</COORDONEES>
<DISTANCE>
<Distance_en_cm>2.89957</Distance_en_cm>
</DISTANCE>
<ANGLE>
<Angle>25</Angle>
</ANGLE>
</NUMERO_SLICE>
这个方法是假的,我想得到如下:
<?xml version="1.0" encoding="UTF-8"?>
<Fiche_Du_Patient>
<INFORMATIONS_DU_PATIENT>
<Hopital>a </Hopital>
<Num_dossier>b</Num_dossier>
<Nom_et_prenom>c</Nom_et_prenom>
<Date_de_naissance>11111</Date_de_naissance>
<Sex>F </Sex>
<Age>26</Age>
<Date_examen>22222</Date_examen>
<Medecin_traitant></Medecin_traitant>
<Rapport></Rapport>
</INFORMATIONS_DU_PATIENT>
<NUMERO_SLICE>
<Num_Slice>1</Num_Slice>
<COORDONEES>
<X1>7.32896</X1>
<Y1>10.6362</Y1>
<X2>8.96937</X2>
<Y2>9.28687</Y2>
</COORDONEES>
<DISTANCE>
<Distance_en_cm>2.1241</Distance_en_cm>
</DISTANCE>
<ANGLE>
<Angle>7</Angle>
</ANGLE>
</NUMERO_SLICE>
<NUMERO_SLICE>
<Num_Slice>2</Num_Slice>
<COORDONEES>
<X1>7.80521</X1>
<Y1>10.3452</Y1>
<X2>9.49854</X2>
<Y2>9.525</Y2>
</COORDONEES>
<DISTANCE>
<Distance_en_cm>1.88152</Distance_en_cm>
</DISTANCE>
<ANGLE>
<Angle>1</Angle>
</ANGLE>
</NUMERO_SLICE>
<NUMERO_SLICE>
<Num_Slice>3</Num_Slice>
<COORDONEES>
<X1>6.69396</X1>
<Y1>10.8215</Y1>
<X2>9.26042</X2>
<Y2>9.47208</Y2>
</COORDONEES>
<DISTANCE>
<Distance_en_cm>2.89957</Distance_en_cm>
</DISTANCE>
<ANGLE>
<Angle>25</Angle>
</ANGLE>
</NUMERO_SLICE>
</Fiche_Du_Patient>
如您所见,每次添加新参数时,都会重复 <NUMERO_SLICE> 块。通常这个块是在 </Fiche_Du_Patient> 之前添加的,但是我没有找到 QXmlStreamWriter 的方法(我是 xml 的初学者)我搜索了网络,我没有找到任何关于这个的。
请问它是否存在一种在之前每次都添加 <NUMERO_SLICE> 块的方法?
亲切地