2015-03-13 21 views
0
當我把我的XMLModel並嘗試oModel.getXML出現瀏覽器控制檯上的問題

錯誤負載模型遺漏的類型錯誤:未能執行上「的XMLSerializer」 serializeToString「:參數1的類型不是「節點」

「未捕獲類型錯誤:未能執行上 '的XMLSerializer' 'serializeToString':參數1的類型是 '節點' 的不是」

但是,如果我oModel.setXML直接在類似的代碼:

oModel.setXML("<questionnaire><question><id>A01</id><text>Whats is you ID Number?</text><answer>1234</answer></question></questionnaire>"); 

那麼錯誤不會發生

這裏是我的OnInit控制器功能:

var oModel = new sap.ui.model.xml.XMLModel(); 
    oModel.loadData("model/questionario.xml"); 
    var view = this.getView(); 
    view.setModel(oModel); 
    var oData = oModel.getXML(); 
    console.log(oData); 

    //This is what i expect to do with the return 

     var oData = oModel.getProperty("/pergunta/texto"); 
     var label_01 = view.byId("lbl_01"); 
     label_01.setText(oData); 



}, 

這是我的XML模型

<questionnaire> 
    <question> 
     <id>A01</id> 
     <text>Whats is you ID Number?</text> 
     <answer>1234</answer> 
    </question> 
</questionnaire> 

感謝所有幫助

+0

你的模型缺少結束''標籤 – Qualiture 2015-03-13 13:08:44

+0

大概Qualiture是正確的。但是,以防萬一,因爲我的有限西班牙語不給我很多上下文:返回給XMLModel的數據只允許有一個根節點。 – cschuff 2015-03-13 13:30:33

+0

對不起,在它的存在,我只是在這裏忘記當我在問題 – 2015-03-13 13:36:42

回答

0

你可能會從數據的異步特性痛苦裝載;您正在嘗試在數據尚未加載時獲取數據。

要麼切換到同步加載 - 絕對不推薦! - 或者一旦數據被使用attachRequestCompleted事件處理程序加載的獲取數據:

var oModel = new sap.ui.model.xml.XMLModel(); 
oModel.loadData("model/questionario.xml"); 

oModel.attachRequestCompleted(function(oEvent) { 
    var oData = oModel.getXML(); 
    console.log(oData); 
}); 
相關問題