Я пытаюсь найти этот XML-документ в as3as3 поиск XML с несколькими элементами
<mineral>
<name>Calcite</name>
<color>White</color
<diaphaneity>Opaque</diaphaneity>
</mineral>
<mineral>
<name>Spangolite</name>
<color>Blue</color>
<color>Green</color>
<color>Blue Green</color>
<color>Dark Green</color>
<color>Emerald Green</color>
<diaphaneity>Transparent</diaphaneity>
<diaphaneity>Translucent</diaphaneity>
</mineral>
<mineral>
<name>Barite</name>
<color>Yellow</color>
<color>Honey</color>
<diaphaneity>Transparent</diaphaneity>
<diaphaneity>Translucent</diaphaneity>
<diaphaneity>Opaque</diaphaneity>
</mineral>
<mineral>
<name>Landauite</name>
<color>White</color>
<diaphaneity>Transparent</diaphaneity>
<diaphaneity>Translucent</diaphaneity>
</mineral>
<mineral>
<name>Sapphire</name>
<color>Blue</color>
<color>Blue green</color>
<diaphaneity>Transparent</diaphaneity>
<diaphaneity>Translucent</diaphaneity>
</mineral>
и фильтровать результаты по цвету первой. Поэтому, если вы ищете «Синий», вы получите результаты всех минералов, содержащих элемент «цвет», значение которого - «Синий» (Spangolite и Sapphire).
Загружаю в свой XML и создаю XMLList всех элементов.
var dataLoader:URLLoader = new URLLoader();
var xmlData:XML;
dataLoader.addEventListener(Event.COMPLETE, LoadComplete);
dataLoader.load(new URLRequest("mineralXML.xml"));
function LoadComplete(e:Event):void
{
xmlData = new XML(e.target.data);
ParseMinerals(xmlData);
}
function ParseMinerals(mineralXML:XML):void
{
var mineralList:XMLList = mineralXML.mineral;
trace(mineralList);
}
С «след (mineralList)» команда будет успешно проследить весь файл XML, и если я изменить его на «след (xmlData.mineral (цвет ==.„Белый“));» то он отслеживает все узлы, что элемент со значением «Белый».
<mineral>
<name>Calcite</name>
<color>White</color>
<diaphaneity>Opaque</diaphaneity>
</mineral>
<mineral>
<name>Landauite</name>
<color>White</color>
<diaphaneity>Transparent</diaphaneity>
<diaphaneity>Translucent</diaphaneity>
</mineral>
Однако, если я ищу Blue вместо White, он ничего не прослеживает. Я предполагаю, что это потому, что минеральные узлы, содержащие элемент со значениями «Синего», также имеют несколько других значений цвета. Это проблема, которую я пытаюсь оценить.
Мне нужно найти цвет и вытащить все узлы, которые имеют одно из этих значений цвета, независимо от других значений цвета.
Я пробовал применить кодекс к моему коду, и я получаю сообщение о синтаксисе 1084: ожидающий перед двоеточием –
Проверьте изменение. –