2013-10-21 50 views
1

Breeze按原樣渲染xml列(SQL xml數據列)(未按照Breeze的慣例將其轉換爲對象)。 例如,波紋管被從數據接收微風客戶端:使用Breeze JS讀取,更新XML列客戶端使用Breeze JS

<employee><firstname>Martin</firstname><lastname>MALONGA</lastname><age>74</age></employee> 
  1. 如何使用微風在客戶端訪問此xml元素?它們是不是像微風平臺裏的xquery一樣的功能?
  2. 如何更新xml元素客戶端並希望Breeze將其轉移到服務器?

對於第一個問題,我已經試過parser.parseFromString和得到的東西,但有一個痛苦的體操勞動;希望有人能夠更好地接受。

+0

你問你如何在基於XML的API中使用breeze?我不認爲Breeze支持XML響應,但我想可以通過攔截HTTP響應並將其轉換爲JSON來入侵某些東西。你可以試着讓你的問題更清楚一點嗎? – Chief

回答

1

您可以使用jquery選擇器來查詢XML。

訪問元素

var employee = $(returnedBreezeObservable()); 
var firstname = employee.children('firstname').text(); 

變化元件

注:xmlToString功能從this question拍攝。

function xmlToString(xmlData) { 
    var xmlString; 
    //IE 
    if (window.ActiveXObject){ 
     xmlString = xmlData.xml; 
    } 
    // code for Mozilla, Firefox, Opera, etc. 
    else{ 
     xmlString = (new XMLSerializer()).serializeToString(xmlData); 
    } 
    return xmlString; 
} 

var employee = $(returnedBreezeObservable()); 
employee.children('firstname').text('John'); 
employee.children('lastname').text('Doe'); 
returnedBreezeObservable(xmlToString(employee));