qml XmlListModel namespace的问题

如果xml源有多个命名空间,比如:

<kml xmlns:ns3="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:ns2="http://www.w3.org/2005/Atom"
        xmlns="http://www.opengis.net/kml/2.2">
        <Document>
                <description>Available CAR2GO Vehicles</description>
                <Style id="car2go">
                        <IconStyle>
                                <Icon>
                                        <href>http://www.car2go.com/default/img/backgrounds/Marker_car2go.png
                                        </href>
                                </Icon>
                                <hotSpot y="0.0" x="0.0" />
                        </IconStyle>
                </Style>
                <Placemark>
                        <name>UL-C5887</name>
                        <description>Sudetenweg, 89075 Ulm<br/>Fuel
                                24<br/>Interior EXCELLENT<br/>Exterior EXCELLENT
                        </description>
                        <styleUrl>#car2go</styleUrl>
                        <ExtendedData>
                                <Data name="fuel">
                                        <value>24</value>
                                </Data>
                                <Data name="interior">
                                        <value>EXCELLENT</value>
                                </Data>
                                <Data name="exterior">
                                        <value>EXCELLENT</value>
                                </Data>
                                <Data name="vin">
                                        <value>WME4513001K154655</value>
                                </Data>
                        </ExtendedData>
                        <Point>
                                <coordinates>10.029,48.4362,0</coordinates>
                        </Point>
                </Placemark>
        </Document>
 </kml>

 

在使用xmllistmodel加载时,需要这样声明:

namespaceDeclarations: "declare namespace ns2='http://www.w3.org/2005/Atom';
declare default element namespace 'http://www.opengis.net/kml/2.2';"





 

否则系统会报错Error XPST0003 in file ... syntax error, unexpected NCName, expecting ; QML XmlRole: invalid query: "name/string()" etc.

 

另外:

 

对于默认的命名空间xmlns,做如下声明:

declare default element namespace 'http://www.w3.org/2005/Atom';

 

对于其他的命名空间,做如下声明:

declare namespace gd='http://schemas.google.com/g/2005';declare namespace georss='http://www.georss.org/georss';


注意 :每个声明后面一定要加上分号。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值