XmlListModelRole QML Type
XmlListModel にロールを指定する場合。詳細...
| Import Statement: | import QtQml.XmlListModel |
プロパティ
- attributeName : string
- elementName : string
- name : string
詳細説明
関連項目 Qt Qml.
プロパティのドキュメント
attributeName : string
データの読み取りに使用されるXML要素の属性。XML要素は、elementName プロパティによって指定されます。
たとえば、次のモデルには「title」という名前のロールがあり、これはXML要素<title> からデータを読み取ります。また、「timestamp」という名前の別のロールもあり、これは同じXML要素<title> を使用しますが、その「created」属性を読み取って実際の値を抽出します。
XmlListModel {
id: xmlModel
source: "file.xml"
query: "/documents/document"
XmlListModelRole { name: "title"; elementName: "title" }
XmlListModelRole {
name: "timestamp"
elementName: "title"
attributeName: "created"
}
}
ListView {
anchors.fill: parent
model: xmlModel
delegate: Text { text: title + " created on " + timestamp }
}attributeName が指定されている場合、elementName は空のままにすることができます。この場合、クエリの最上位 XML 要素の属性が読み込まれます。
たとえば、次のような XML ドキュメントがある場合:
<documents>
<document title="Title1"/>
<document title="Title2"/>
</documents>ドキュメントのタイトルを抽出するには、次のモデルが必要です:
XmlListModel {
id: xmlModel
source: "file.xml"
query: "/documents/document"
XmlListModelRole {
name: "title"
elementName: ""
attributeName: "title"
}
}指定されたXML要素の属性を解析する必要がない場合は、このプロパティを空白のままにしておきます。
「elementName」も参照してください 。
elementName : string
データを読み込むために使用されるXML要素の名前、またはそのXML要素へのパス。この要素には実際にテキストが含まれている必要があります。
オプションで、attributeName プロパティを指定してデータを抽出することができます。
たとえば、次のモデルには「title」という名前のロールがあり、XML要素<title> からデータを読み取ります。また、「timestamp」という名前の別のロールもあり、同じXML要素<title> を使用しますが、その「created」属性を読み取って実際の値を抽出します。
XmlListModel {
id: xmlModel
source: "file.xml"
query: "/documents/document"
XmlListModelRole { name: "title"; elementName: "title" }
XmlListModelRole {
name: "timestamp"
elementName: "title"
attributeName: "created"
}
}
ListView {
anchors.fill: parent
model: xmlModel
delegate: Text { text: title + " created on " + timestamp }
}attributeName が指定されている場合、elementNameは空のままにすることができます。この場合、クエリの最上位XML要素の属性が読み込まれます。
たとえば、次のような XML ドキュメントがある場合:
<documents>
<document title="Title1"/>
<document title="Title2"/>
</documents>ドキュメントのタイトルを抽出するには、次のモデルが必要です:
XmlListModel {
id: xmlModel
source: "file.xml"
query: "/documents/document"
XmlListModelRole {
name: "title"
elementName: ""
attributeName: "title"
}
}elementName プロパティには、実際にはネストされた XML 要素へのパスを指定できます。パス内のすべての要素は、'/' 文字で連結する必要があります。
たとえば、次のような XML ドキュメントがある場合:
<documents>
<document>
<title>Title1</title>
<info>
<num_pages>10</num_pages>
</info>
</document>
<document>
<title>Title2</title>
<info>
<num_pages>20</num_pages>
</info>
</document>
</documents>次のロールを使用して、ページ数を抽出できます:
XmlListModel {
id: xmlModel
source: "file.xml"
query: "/documents/document"
// ...
XmlListModelRole {
name: "pages"
elementName: "info/num_pages"
}
}注: 要素へのパスは 、'/' で始まったり終わったりしてはいけません。
「attributeName」も参照してください 。
name : string
ロールの名前。この名前は、このロールのモデルデータにアクセスするために使用されます。
たとえば、次のモデルには「title」という名前のロールがあり、ビューのデリゲートからこのロールにアクセスできます:
XmlListModel {
id: xmlModel
source: "file.xml"
query: "/documents/document"
XmlListModelRole { name: "title"; elementName: "title" }
}ListView {
model: xmlModel
delegate: Text { text: title }
}© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.