次のxmlを取得します
<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>
Data と呼ばれる QByteArray に保存するソケットを介して。
xml からすべての値を抽出して、さまざまな変数 (整数として、QString として) に保存したいと考えています。
私の主な問題は<D>125</D>
、タグ間の値を持つようなxml文字列と、タグ<Te T210="10.00" T29="9... />
文字列自体で値を取得したようなxml文字列を区別する方法がわからないことです。
私のコードはこれまでのところ次のようになります。
QByteArray Data = socket->readAll();
QXmlStreamReader xml(Data);
while(!xml.atEnd() && !xml.hasError())
{
.....
}