2011-10-05 96 views
0

我有一個遠程XML數據發生器發出這樣的事情:jqGrid的XML數據的屬性負載

<list> 
    <hu.qualitis.opencms.utils.db.DBFile> 
    <id>8dc66bf4-c39f-44c5-879d-1f3b16dc29be</id> 
    <name>testfile.txt</name> 
    ... 
    <metadata> 
     <property name="lines" value="5"/> 
    </metadata> 
    </hu.qualitis.opencms.utils.db.DBFile> 
</list> 

我向XMLReader的定義如下

xmlReader: { 
    root: "list", 
    row: "hu\\.qualitis\\.opencms\\.utils\\.db\\.DBFile", 
    repeatitems: false, 
    id: "id" 
}, 

該工程確定。 我的問題是關於我無法訪問的元數據部分。我試過這樣的東西:

colModel :[ 
    {name:'name', index:'name', width:60}, 
    ... 
    {name:'metadata>property>lines', index:'name', width:10} 
], 

但無濟於事。

是否有可能配置jqGrid XMLReader讀取該值,還是我被迫更改生成器?

更新

綜上所述答覆:我最初的想法是不可能實現的。
最好的解決方案是使用JSON。這也會更快。
另一種解決方案是修改生成XML的代碼。因爲我所有的溝通都基於XML,所以我會繼續這樣做。
另一個解決方案是使用XSLT修改XML。

+0

您應該使用JSON代替XML是要讀取數據,到標準jqGrid輸入數據爲止。您無法讀取jqGrid中的XML屬性。 – Oleg

+0

謝謝你的回答。我所有的網格都使用XML,所以我不打算製作一個使用JSON的單一網格。所以我必須更改生成代碼。 – Tylla

+0

如果您想使用XML,您應該保存jqGrid所需的[XML格式](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#xml_data)。例如,您可以使用XSLT將一個XML文件轉換爲另一個XML文件。無論如何,基於XML的解決方案將會像JSON一樣緩慢。 – Oleg

回答

0

節點您訪問屬性需要在colModel如的xmlmap指定在方括號[名]屬性名稱: -

節點

節點屬性的名稱屬性將需要xmlmap :「元數據>屬性> [名]」

節點屬性值屬性需要xmlmap:「元數據>屬性> [值]」