AS3之解析XML

前端之家收集整理的这篇文章主要介绍了AS3之解析XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

范例代码:

  1. var xml:XML= <data>
  2. <item name="cat" id="1" type="pet" />
  3. <item name="starling" id="1" type="animal" />
  4. <item name="mouse" id="1" type="animal" />
  5. <item name="dog" id="1" type="pet" />
  6. </data>


目的:要得到type为pet的name,用@type属性找,注意写法带圆括号,包含@ .(@type == 'pet')

  1. var xml2:XMLList = xml.item.(@type == 'pet');
  2. for (var i:* in xml2)
  3. {
  4. trace(i,xml2[i]);
  5. }

trace得到

0
1

怎样得到name的值呢?

-->toString......转成字符串,读出来

  1. var xml2:XMLList = xml.item.(@type == 'pet');
  2. for (var i:* in xml2)
  3. {
  4. trace(i,xml2[i].toString());
  5. }

trace得到

0
1

读不出来?-->撕碎XML,暴力解决!......

  1. var str:String = xml.item.(@type == 'pet').toString();
  2. trace(str);
  3. var arr:Array = str.split('\n');
  4. trace(arr.length);
  5. for (var i:int = 0; i < arr.length; i++)
  6. {
  7. var txt:String = arr[i];
  8. txt = String(txt.split(' ')[1]);
  9. txt = txt.substring('name="'.length,txt.length - 1);
  10. trace(txt);
  11. }

trace得到

<item name="cat" id="1" type="pet"/>
<item name="dog" id="1" type="pet"/>
2
cat
dog

神啊,请赐予我力量,奥特曼~~

记住这个:toXMLString()

  1. var xml2:XMLList = xml.item.(@type == 'pet');
  2. for (var i:* in xml2)
  3. {
  4. trace(i,xml2[i].toXMLString());
  5. }

trace得到

0 <item name="cat" id="1" type="pet"/>
1 <item name="dog" id="1" type="pet"/>

name呢----〉用属性标签

  1. var xml2:XMLList = xml.item.(@type == 'pet');
  2. for (var i:* in xml2)
  3. {
  4. trace(i,xml2[i].@name);
  5. }

trace得到

0 cat
1 dog

收功

  1. package
  2. {
  3. import flash.display.Sprite;
  4. public class XMLtest extends Sprite
  5. {
  6. public function XMLtest()
  7. {
  8. var xml:XML= <data>
  9. <item name="cat" id="1" type="pet" />
  10. <item name="starling" id="1" type="animal" />
  11. <item name="mouse" id="1" type="animal" />
  12. <item name="dog" id="1" type="pet" />
  13. </data>
  14.  
  15. /*var xml2:XMLList = xml.item.(@type == 'pet');
  16. for (var i:* in xml2)
  17. {
  18. trace(i,xml2[i]);
  19. }*/
  20.  
  21. /*var xml2:XMLList = xml.item.(@type == 'pet');
  22. for (var i:* in xml2)
  23. {
  24. trace(i,xml2[i].toString());
  25. }*/
  26.  
  27. /*var str:String = xml.item.(@type == 'pet').toString();
  28. trace(str);
  29. var arr:Array = str.split('\n');
  30. trace(arr.length);
  31. for (var i:int = 0; i < arr.length; i++)
  32. {
  33. var txt:String = arr[i];
  34. txt = String(txt.split(' ')[1]);
  35. txt = txt.substring('name="'.length,txt.length - 1);
  36. trace(txt);
  37. }*/
  38.  
  39. /*var xml2:XMLList = xml.item.(@type == 'pet');
  40. for (var i:* in xml2)
  41. {
  42. trace(i,xml2[i].toXMLString());
  43. }*/
  44. var xml2:XMLList = xml.item.(@type == 'pet');
  45. for (var i:* in xml2)
  46. {
  47. trace(i,xml2[i].@name);
  48. }
  49. }
  50. }
  51.  
  52. }

猜你在找的XML相关文章