2014-03-24 43 views
0

在我的項目中,我必須從我的IndexedDB數據創建一個XML文件。我將該XML文件傳遞給我的WebService,將我的數據保存到我的服務器中。作爲回報,我還想讀取和解析由我的WebService發送的XML文件(或數據)。所以給我一些建議。IndexedDB數據庫數據到XML

回答

0

你爲什麼不寫一個REST服務。這將與indexeddb更容易的接口。在服務上,您可以將json數據解析爲對象,您可以將其保存到數據庫中。

+0

你可以發佈一段代碼..還告訴我,使用REST服務是安全的,因爲我想數據是非常安全的。 –

+0

好吧,休息服務利用http協議。它使用諸如het,post,put,delete等動詞來確定需要執行的動作。數據本身是以json格式發送的。我不知道您使用的是哪種技術,但我是.net Guy。在.net你可以使用asp.net mvc webapi來做到這一點。你希望它是安全的,最好的方法是使用https服務甚至是你的web應用。 –

+0

我也是一個.net程序員,但我沒有使用MVC ..我使用正常的asp.net應用程序,但它必須具有脫機capablity ..你是說關於XMLHttpRequest?它真的安全嗎? Bcoz的數據可以在響應頭文件中看到..這就是爲什麼我想知道是否使用它? –

1

IDB「對象存儲」只能存儲JavaScript對象。要將XML數據保存到IDB數據庫,您需要將XML對象轉換爲JavaScript對象。該函數將取決於您的XML需求 - XML轉換沒有一成不變的方法。

一般來說,follow the advice I laid out for you here在把你的XML對象轉換成JSON表示:

例如,如果你的SQL表是這樣的:

+------+--------+--------+ 
|  | ColA | ColB | 
+------+--------+--------+ 
| Row1 | CellA1 | CellB1 | 
| Row2 | CellA2 | CellB2 | 
| Row3 | CellA3 | CellB3 | 
+------+--------+--------+ 

你的JavaScript對象可以是這樣的:

var myObjectToStore = { 
    'Row1': { 'ColA': 'CellA1', 'ColB': 'CellB1' }, 
    'Row2': { 'ColA': 'CellA2', 'ColB': 'CellB2' }, 
    'Row3': { 'ColA': 'CellA3', 'ColB': 'CellB3' } 
}; 

該對象的JSON表示非常相似:

{ 
    "Row1": { 
    "ColA": "CellA1", 
    "ColB": "CellB1" 
    }, 
    "Row2": { 
    "ColA": "CellA2", 
    "ColB": "CellB2" 
    }, 
    "Row3": { 
    "ColA": "CellA3", 
    "ColB": "CellB3" 
    } 
} 

它更容易使用的JavaScript對象,而這樣的序列化。我強烈建議在網絡上使用JSON而不是XML。

現代瀏覽器全部支持JSON.parse()JSON.stringify,大多數網絡服務器可以處理application/json mimetype。