2

QT で xml ドキュメントを解析しようとすると、次のようなものを使用します。

QString str;
QXmlStreamAttributes attrib = xml_reader.attributes();
if(attrib.hasAttribute("id"))
{
     str = attrib.value("id").toString();
}

これを行うには、属性が「id」と呼ばれることを知る必要があります。名前を知らなくても最初の属性を読み取る方法はありますか?

前もって感謝します。

4

1 に答える 1

3

QXmlStreamAttributes クラスは から継承していQVector<QXmlStreamAttribute>ます。これは、QVector と同じようにオブジェクトを「ループ」できることを意味します。

最初の項目にアクセスできるはずです。

attrib[0].name();  //containst a QStringRef to the name
attrib[0].value(); //containst a QStringRef to the value

ちなみに、最初に QVector のサイズを確認することを強くお勧めします;)

attrib.size();     //contains the number of attributes
于 2013-10-11T08:58:22.457 に答える