2011-03-30 48 views
0

我无法解析qml xmllistmodel中的car2go响应。QML XmlListModel和car2go 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'" 
    query: "/kml/Document/Placemark" 
    XmlRole { name: "plate_number"; query: "name/string()" } 
    XmlRole { name: "address"; query: "description/string()" } 
    XmlRole { name: "fuel"; query: "ExtendedData/Data[1]/string()" } 
    XmlRole { name: "interior"; query: "ExtendedData/Data[2]/string()" } 
    XmlRole { name: "exterior"; query: "ExtendedData/Data[3]/string()" } 
    XmlRole { name: "vin"; query: "ExtendedData/Data[4]/string()" } 
    XmlRole { name: "coordinates"; query: "coordinates/string()" } 
} 

但我得到

错误XPST0003文件...语法错误,意想不到的NCName,期待; QML XmlRole:无效的问题:“名/串()”等

在此先感谢

回答

1

第二个命名空间声明缺少终止的分号。

更换

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

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

应该修复它。

+0

非常感谢!有用 !!! – Temirlan 2011-03-31 20:26:08

+0

解析数据的排序如何?我想计算每个car2go到坐标X,Y的距离并将其显示为递增。 – Temirlan 2011-04-02 06:14:39