2016-07-13 29 views
0

Ich habe Xml-Daten in einem Array gespeichert, die ich auf Xml-Modell festlegen möchte. Ich habe versucht, oXmlModel.setXML (oPropStored) zu verwenden; Dabei steht oXmlModel für den Namen des XML-Modells und oPropStored für den Namen des Arrays, in dem die XML-Daten gespeichert sind. Aber es funktioniert nicht.Wie Array in Xml-Modell in SAP UI5

hier ist die XML-Datei

<book id="bk101"> 
    <bookno>1</bookno> 
    <author>sum</author> 
    <title> Be Careful what you wish for</title> 
    <desc>an sumoz book</desc> 
    <price>280</price> 
    <publish>11-11-2014</publish> 
    <sold>100000</sold> 
</book> 
<book id="bk102"> 
    <bookno>2</bookno> 
    <author>San Bod</author> 
    <title> Rich Dad poor Dad</title> 
    <desc>an Sanjana Boddu book</desc> 
    <price>1880</price> 
    <publish>08-10-2004</publish> 
    <sold>240000</sold> 
</book> 

Dies ist der Controller-Code:

var x=oData.getElementsByTagName("book"); 
    console.log("length of x:",x.length); 

    for(var j=0; j<x.length;j++) 
    { 
     oProp[j]= oData.getElementsByTagName("book")[j]; 
     obookno[j]=oData.getElementsByTagName("bookno")[j].textContent; 
    } 

    for(var i=0;i<indexArray.length;i++) 
     { 
      for(var j=0;j<x.length;j++) 
      { 
       if(indexArray[i]===obookno[j]) 
       { 
        oPropStored[i]=oProp[j]; 
        console.log("property is :",oPropStored[i]); 
       } 
      } 

     } 

    var oXmlModel= new sap.ui.model.xml.XMLModel(); 
    oXmlModel.setXML(oPropStored); 
    console.log(oXmlModel); 

in dem obigen Code iam den gewählten Index zu nehmen und sie gespeichert in indexarray und dann den index mit dem bookno arr vergleichen ay, in dem ich bookno aus der XML-Datei gespeichert habe. und was übereinstimmend ist, wird in oPropStored-Array gespeichert und das oProp enthält alle XML-Daten. Dieses oPropStored-Array soll auf oXmlModel gesetzt werden.

Thankx für

Antwort

0

Versuchen Sie, die setData Methode:

var oXmlModel= new sap.ui.model.xml.XMLModel(); 
oXmlModel.setData(oPropStored);