繁体   English   中英

在Flex中使用XML / XML属性

[英]Use of XML / XML Attributes in Flex

我是XML和XML属性的新手。 我已经阅读了一些XML文档,其中XML可以用两种方式表示:

方法1

<?xml version="1.0" encoding="UTF-8"?>
<CATALOG>
 <CD>
        <TITLE>Empire Burlesque</TITLE>
        <ARTIST>Bob Dylan</ARTIST>
        <COUNTRY>USA</COUNTRY>
        <COMPANY>Columbia</COMPANY>
        <PRICE>10.90</PRICE>
        <YEAR>1985</YEAR>
    </CD>
    <CD>
        <TITLE>Hide your heart</TITLE>
        <ARTIST>Bonnie Tyler</ARTIST>
        <COUNTRY>UK</COUNTRY>
        <COMPANY>CBS Records</COMPANY>
        <PRICE>8.90</PRICE>
        <YEAR>1988</YEAR>
    </CD>
</CATALOG>

方法-2

<?xml version="1.0" encoding="UTF-8"?>
<CATALOG>
    <CD TITLE="Empire Burlesque" ARTIST="Bob Dylan" COUNTRY="USA" COMPANY="Columbia" PRICE="10.90" YEAR="1985"/>
    <CD TITLE="Hide your heart" ARTIST="Bonnie Tyler" COUNTRY="UK" COMPANY="CBS Records" PRICE="8.90" YEAR="1988"/>
 </CATALOG>

但是例如,当我使用此函数过滤价格> = 9的位置并在网格中显示数据时。 当使用XML Way 1时,它工作正常,但是当我使用XML Way 2时,datagrid为空。 另请注意,我在每个DatagridColumn的数据字段上使用@ Binding。 我的过滤器功能如下:

private function myFilter(xml:XML):Boolean
            {
                return Number(xml.PRICE) >= 9;
            }

谢谢

在方式2中,价格是属性,而不是子标签,因此应使用@ symobl访问。

因此,对于方法2,您的过滤器功能应为:

private function myFilter(xml:XML):Boolean
            {
                return Number(xml.@PRICE) >= 9;
            }

请注意PRICE之前的@。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM