【问题标题】:How do you add a new attribute to a dataset node in OpenLaszlo platform?如何在 OpenLaszlo 平台中向数据集节点添加新属性?
【发布时间】:2013-02-25 22:43:57
【问题描述】:

如何向 OpenLaszlo XML 数据集中的节点添加全新的属性?

【问题讨论】:

    标签: openlaszlo lzx


    【解决方案1】:

    执行此操作的方法是使用 lz.datapointer.setNodeAttribute() 函数。如果使用 setNodeAttribute() 函数的属性名称尚未出现在节点上,则会创建一个新属性名称。

    在下面的示例 OpenLaszlo 应用程序中,如果您在编译程序后按下标题为 [displayXML] 的按钮,您将看到在进行任何更改之前的 XML 数据集不包含任何“fav_saying”属性。

    点击 [updateAttribute] 按钮通过 setNodeAttribute() 方法为 Homer 添加最喜欢的谚语后,您可以再次点击 [displayXML] 按钮,您将看到一个名为 'fav_saying' 的属性已添加到XML 数据集。

    <canvas height="665" width="1000" layout="axis: x" debug="true">
    







    数据集>

    <handler name="onclick">
      Debug.write(canvas.myData.serialize());
    </handler>
    

    按钮>

    <handler name="onclick">  
    
      var dp = canvas.myData.getPointer(); // get datapointer to XML data
      dp.setXPath('myXML/person[@firstname="Homer"]'); // set xpath to Homer Simpson
    
      dp.setNodeAttribute('fav_saying', 'DOH!');
    
    </handler>
    

    按钮>

    您还将看到多次调用 setNodeAttribute() 不会添加额外的“fav_saying”属性。如果程序每次都为谚语使用不同的值,那么 'fav_saying' 属性中的值会改变,但仍然只有一个 'fav_saying' 属性。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      • 1970-01-01
      相关资源
      最近更新 更多