QtのDomパーサーで属性を取得する
まあメモる程のことでもないと思うんだけど書くこともないので書きます。
以前にもDomパーサーの基本をまとめた感じのがあるのでその続きということで。
QtのDomパーサーの実験 - opamp_sandoの日記 ...でいいよね
とりあえず、QDomElementクラスを使います。
例えば以下のようにすると属性(attribute)が取得できます。
QString attribute_name = "age"; QString age_default = "unknown"; // nodeはQDomNodeクラス。toElement()してQDomElementに変換した後、QDomElement::attributeクラス関数を実行している。 QString r = node.toElement().attribute(attribute_name,age_default); /*この例だとageという属性の値を読みだして返す。 例えば <name age="17">opamp</name> とあったならば、QString型のrには"17"が入っているはず。 */
引数には、読みだしたい属性の名前を第一引数に、そしてその初期値を第二引数に渡しますが、第二引数は省略してもおkのようです。
第二引数は省略すると多分空のQStringになります。
引数は2つともQStringなので注意ですね。Qtなので可能な限り文字列処理にはQStringを使っているんでしょうけど。
詳細な情報はQtのdocumentを参照
http://qt-project.org/doc/qt-4.8/qdomelement.html#attribute