XmlListModelRole QML Type
XmlListModel への役割の指定について ...続きを読む
Import Statement: | import QtQml.XmlListModel |
プロパティ
- attributeName : string
- elementName : string
- name : string
詳細説明
プロパティのドキュメント
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 } }
このロールは、ビューのデリゲートからアクセスすることができます。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。