如何在 sap ui5 中的 xml 模型中设置数组



我已经将xml数据存储在一个数组中,我想将其设置为xml Model。我尝试过使用oXmlModel.setXML(oPropStored);其中 oXmlModel 是 xml 模型的名称,oPropStored 是存储 xml 数据的数组的名称。但它不起作用。

这是 XML 文件

<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>

这是控制器代码:

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);

在上面的代码中,我获取选定的索引并将它们存储在索引数组中,然后将索引与我从 XML 文件中存储 bookno 的 bookno 数组进行比较。 匹配的内容存储在 oPropStored 数组中,并且 oProp 保存所有 XML 数据。此 oPropStored 数组将设置为 oXmlModel。

谢谢

试试 setData 方法:

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

最新更新