使用Breeze JS读取,更新XML列客户端

时间:2013-10-21 02:59:47

标签: xml-serialization client-side breeze

Breeze按原样呈现xml列(SQL xml数据列)(未像Breeze一样转换为对象)。 例如,下面是Breeze客户端收到的数据:

<employee><firstname>Martin</firstname><lastname>MALONGA</lastname><age>74</age></employee>
  1. 如何使用Breeze在客户端访问此xml元素?它们的功能就像微风平台中的xquery一样吗?
  2. 如何更新xml元素客户端并希望Breeze将其传输到服务器?
  3. 对于第一个问题,我尝试过 parser.parseFromString 并得到一些东西,但是经历了痛苦的体操劳动;希望有人会推出一个更好的approch。

1 个答案:

答案 0 :(得分: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));