-je obtenir le code XML suivantQT5 C++ QByteArray XML Parser
<Tra Type="SomeText">
<tr>Abcdefghij qwertzu</tr>
<Rr X="0.0000" Y="0.0000" Z="0.0000" A="0.0000" B="0.0000" C="0.0000" />
<Ar A1="0.0000" A2="0.0000" A3="0.0000" A4="0.0000" A5="0.0000" A6="0.0000" />
<Er E1="0.0000" E2="0.0000" E3="0.0000" E4="0.0000" E5="0.0000" E6="0.0000" />
<Te T21="1.09" T22="2.08" T23="3.07" T24="4.06" T25="5.05" T26="6.04" T27="7.03" T28="8.02" T29="9.01" T210="10.00" />
<D>125</D>
<IP></IP>
</Tra>
à travers un socket qui enregistre dans un QByteArray appelé Data.
Je veux extraire et enregistrer chaque valeur du xml à différentes variables (certaines en tant que nombres entiers que QString).
Mon problème principal est que je ne sais pas comment distinguer les chaînes xml comme <D>125</D>
avec une valeur entre les balises et les chaînes xml comme <Te T210="10.00" T29="9... />
qui ont la valeur dans le Tag-String lui-même.
Mon code ressemble à ceci jusqu'à présent:
Cela dépend du schéma de votre XML -. readElementText() pour utiliser texte à l'intérieur de l'élément, et attributs() pour accéder aux attributs. –