как выбрать элемент XML на основе его значения атрибута, начинающегося с "чего-то" в actionscript3 - PullRequest
1 голос
/ 06 октября 2011

скажем, у меня есть xml вроде следующего:

public static var keywords:XML = <keywords>
   <tag key="html" type="tag"/>
   <tag key="htmlNew" type="attr"/>
   <tag key="head" type="attr"/>
   <tag key="body" type="attr"/>
</keywords>;

Мне нужно найти этот xml по значению атрибута.Если пользователь вводит данные как «html», тогда мне нужно вернуть оба узла <tag key="html" type="tag"/> <tag key="htmlNew" type="attr"/> как XMLList.Это отчасти начинается с поиска типа по атрибуту xml.Пожалуйста, кто-нибудь предоставит любое решение или предложение.Для прямого сопоставления атрибутов я использовал следующий код:

var closeMatchList:XMLList = xml.tag.(@key == "html") as XMLList;

Возвращает только <tag key="html" type="tag"/> tag

Возможно ли такое решение ??пожалуйста, кто-нибудь предоставит любое решение.Я застрял с этой проблемой в течение длительного времени.заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

Без сторонних библиотек вы также можете сделать это:

keywords.tag.(attribute("key").indexOf("html")==0)
0 голосов
/ 06 октября 2011

Существует библиотека XPath для ActionScript3 ( xpath-as3 ), которая может сделать это легко.

public static var keywords:XML = ...;

var thePath:String = "/keywords/tag[starts-with(@key, 'html')]";
var html:NodeSet = XPath.evaluate(thePath, keywords);  

Некоторые другие способы использования библиотеки можно увидеть здесь .

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