Использование атрибутов XML / XML во Flex - PullRequest
0 голосов
/ 26 августа 2011

Я новичок в 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, сетка данных пуста.Также обратите внимание, что я использую @ Binding в поле данных каждого столбца DatagridColumn.Моя функция фильтра такова:

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

Спасибо

1 Ответ

1 голос
/ 26 августа 2011

В способе номер 2 цена является атрибутом, а не подтэгом, поэтому к нему следует обращаться с помощью @ symobl.

Так что для способа 2 ваша функция фильтра должна быть:

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

Обратите внимание на @ перед ЦЕНОЙ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...