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 } }
© 2025 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.