最好的解决方案是为您的 XML 设置一个标准并坚持下去,以便您的所有属性都一致地形成。如果这不是一个选项,那么您可以进行多次搜索。不是最漂亮的解决方案,但可能会完成这项工作。
将属性名称作为 a 传递String给以大写和小写形式搜索它并返回组合结果的方法。
private function onLoaded(e:Event):void
{
xml = new XML(e.target.data);
var list:XMLList = getNodesByAttribute("att");
trace(list[1]);
}
private function getNodesByAttribute(attributeID:String):XMLList
{
var list:XMLList = (xml..@[attributeID.toLowerCase()]) + (xml..@[attributeID.toUpperCase()]);
return list;
}
如果您的属性不仅全部为大写而且全部为小写(属性、属性和属性),那么这将变得混乱且无济于事。
也许您可以使用正则表达式进一步推动这个想法,但恐怕我不擅长正则表达式(甚至不确定它是否可以在这种情况下使用)。