`
seya
  • 浏览: 359914 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

E4X对XML的操作

阅读更多

用于处理 XML 的 E4X 方法

ECMAScript for XML 规范定义了一组用于处理 XML 数据的类和功能。这些类和功能统称为 E4X。ActionScript 3.0 包含以下 E4X 类:XML、XMLList、QName 和 Namespace。

E4X 类的方法、属性和运算符旨在实现以下目标:

  • 简单 ― 在可能的情况下,使用 E4X 可以更容易地编写和理解用于处理 XML 数据的代码。
  • 一致 ― E4X 背后的方法和推理在内部是一致的,并与 ActionScript 的其它部分保持一致。
  • 熟悉 ― 使用众所周知的运算符来处理 XML 数据,如点 (.) 运算符。

注意

 

ActionScript 2.0 中有一个 XML 类。在 ActionScript 3.0 中,此类已重新命名为 XMLDocument,从而避免与作为 E4X 的一部分的 ActionScript 3.0 XML 类冲突。在 ActionScript 3.0 中,flash.xml 包中包含了 XMLDocument、XMLNode、XMLParser 和 XMLTag 几个旧类,主要是用于旧支持。新的 E4X 类是核心类;无需导入包即可使用这些类。本章不详细阐述旧的 ActionScript 2.0 XML 类。有关这些类的详细信息,请参阅《ActionScript 3.0 语言和组件参考》中的 flash.xml 包。

下面是使用 E4X 处理数据的一个示例:

var myXML:XML = 
    <order>
        <item id='1'>
            <menuName>burger</menuName>
            <price>3.95</price>
        </item>
        <item id='2'>
            <menuName>fries</menuName>
            <price>1.45</price>
        </item>
    </order>

通常,应用程序都会从外部源(如 Web 服务或 RSS 供给)加载 XML 数据。不过为清楚起见,本章中的示例是将 XML 数据作为文本来分配的。

如以下代码所示,E4X 包含了一些直观运算符(如点 (.))和属性标识符 (@) 运算符,用于访问 XML 中的属性 (property) 和属性 (attribute):

trace(myXML.item[0].menuName); // 输出:burger
trace(myXML.item.(@id==2).menuName); // 输出:fries
trace(myXML.item.(menuName=="burger").price); // 输出:3.95

使用 appendChild() 方法可为 XML 分配一个新的子节点,如下面的代码片断所示:

var newItem:XML = 
    <item id="3">
        <menuName>medium cola</menuName>
        <price>1.25</price>
    </item>

myXML.appendChild(newItem);

使用 @ . 运算符不仅可以读取数据,还可以分配数据,如下所示:

myXML.item[0].menuName="regular burger";
myXML.item[1].menuName="small fries";
myXML.item[2].menuName="medium cola";

myXML.item.(menuName=="regular burger").@quantity = "2";
myXML.item.(menuName=="small fries").@quantity = "2";
myXML.item.(menuName=="medium cola").@quantity = "2";

使用 for 循环可以循环访问 XML 的节点,如下所示:

var total:Number = 0;
for each (var property:XML in myXML.item)
{
    var q:int = Number(property.@quantity);
    var p:Number = Number(property.price);
    var itemTotal:Number = q * p;
    total += itemTotal;
    trace(q + " " + property.menuName + " $" + itemTotal.toFixed(2))
}
trace("Total: $", total.toFixed(2));

<script type="text/javascript"></script>

 
 
 
   
  Popup

分享到:
评论

相关推荐

    Foundation XML and E4X

    4. **AS3与XML**:AS3中的XML类,如何在AS3代码中创建、操作和解析XML,以及E4X的优势。 5. **XML在.NET中的应用**:.NET框架中XML的处理,如LINQ to XML,以及XML数据绑定到UI组件的方法。 6. **网络应用开发**:...

    Foundation XML and E4X for Flash and Flex

    - **E4X表达式**:E4X使得ActionScript可以直接操作XML数据,如同操作普通的JavaScript对象一样。通过简单的表达式就可以实现对XML数据的读取、修改等操作。 #### 三、在Flash和Flex中利用XML构建动态Web应用 ...

    Foundation+XML+and+E4X+for+Flash+and+Flex And sourcecode

    通过阅读《Foundation XML and E4X for Flash and Flex》并研究提供的源代码,开发者不仅可以深化对XML和E4X的理解,还能获得在实际项目中运用这些技术的实践经验,从而提升开发Flash和Flex应用的专业技能。...

    AJAX及使用E4X编写Web服务脚本系列

    E4X(ECMAScript for XML)是JavaScript的一个扩展,旨在简化XML处理,使JavaScript可以更加方便地创建、操作和解析XML文档。E4X将XML直接集成到JavaScript语法中,使得XML数据可以直接作为JavaScript对象进行操作,...

    Foundation.XML.and.E4X.for.Flash.and.Flex.2009

    E4X是ActionScript 3.0对XML处理的一种扩展,它允许开发者像处理JavaScript对象一样处理XML。通过E4X,你可以直接在XML节点上执行方法,使用点号和方括号操作符访问属性,甚至进行查询。E4X的引入大大简化了XML数据...

    readxml flex加载xml文件

    E4X是AS3中内置的XML支持,它使XML操作像处理JavaScript对象一样简单。E4X允许直接通过XML对象来访问和修改XML数据。以下是如何使用E4X加载XML文件: ```actionscript var xmlLoader:URLLoader = new URLLoader(); ...

    flex - xml操作

    ### Flex与XML操作详解 #### 一、E4X与ActionScript 3.0的集成 E4X(ECMAScript for XML)是ECMAScript标准的一个扩展,它被引入到ActionScript 3.0中,极大地简化了XML数据处理的过程。在Flash 5时,ActionScript...

    IE E4X - Intuitive XML access-开源

    3. **XML列表和集合**:E4X中的XML列表类似于数组,可以方便地遍历和操作XML节点集合。 4. **XML构造**:可以通过JavaScript表达式动态构造XML文档,如`new XML("&lt;element&gt;text&lt;/element&gt;")`。 5. **查询和筛选**...

    Flex处理 xml方法及实例

    E4X使得在ActionScript中解析、操作和生成XML变得极其简单,它引入了一系列新的操作符和类,使得XML与JavaScript对象之间的交互更为自然。 在E4X中,XML被视为一种第一类的公民,可以像处理其他数据结构一样处理XML...

    javascript 操作xml

    4. **E4X(ECMAScript for XML)**: - E4X是ECMAScript的一个扩展,允许在JavaScript代码中直接处理XML。 - `var xml = &lt;root&gt;&lt;item id="1"&gt;Data&lt;/item&gt;&lt;/root&gt;;`:在JavaScript中创建XML结构。 - `xml.item.@id...

    flex 操作XML

    综上所述,Flex中的XML操作涉及文件系统访问、网络通信、数据解析等多个方面,熟练掌握这些技能对于构建Flex应用至关重要。在实际项目中,根据具体需求灵活运用这些知识点,可以实现高效的数据管理和交换。

    Flex里解析XML数据

    Flex中的XML支持E4X,这是一种集成在AS3中的XML处理语法,使XML操作更加直观。E4X允许我们像处理JavaScript对象一样处理XML,例如: ```actionscript var items:Array = xml.root.item.*; for each (var item:XML ...

    JavaScript操作XML

    5. **jQuery和库的支持**:jQuery和其他JavaScript库(如Zepto、Dojo等)提供了简化XML操作的API。例如,jQuery的`$(xml).find()`方法类似于XPath,可以方便地查找XML元素。 6. **E4X(ECMAScript for XML)**:E4X...

    AS3中新的XML处理方法.pdf

    E4X提供了许多直观的方法和操作符来操作XML数据: - **访问节点**:使用数组索引或`child`属性访问子节点。 - **访问属性**:使用`@`操作符访问属性。 - **遍历节点**:使用`for`循环或`XMLList`类型进行遍历。 ...

    flash 从xml中获取数据

    4. E4X(ECMAScript for XML)路径表达式进行XML操作 5. 遍历和访问XML节点及其属性 对于初学者,深入理解和实践这些概念将对掌握Flash与XML的交互大有裨益。同时,不断探索和优化代码,以提高效率和可读性,是成为...

    JavaScript,jQuery,E4X参考手册-W3School标准版

    E4X(ECMAScript for XML)是JavaScript的一个扩展,它允许在JavaScript中直接处理XML数据,使得XML的读写更加直观和方便。然而,E4X在现代Web开发中的使用已经减少,更多的被JSON所替代,因为JSON更简洁且易处理。 ...

    flex 读XML 写XML 并保存为文件

    总结,Flex中对XML的操作包括读取、写入和保存,可以结合E4X和FileReference类实现。同时,通过序列化和反序列化技术,可以将图形数据与XML文件进行交互,方便数据的持久化和复用。在实际项目中,这些技能对于构建富...

    JS 调用XML文件内容

    5. **E4X(ECMAScript for XML)**:在某些JavaScript环境中,如Flash或旧版的Firefox,支持E4X,它允许直接在JavaScript中嵌入XML,并提供类似于处理JSON的语法来操作XML。然而,E4X在现代浏览器中已不再被支持。 ...

    解析xml,ajax

    - E4X(ECMAScript for XML):E4X是JavaScript的一种扩展,允许直接在JavaScript中处理XML。例如,`var doc = new XML(xmlString)`可以创建一个XML对象。但需要注意,E4X不是所有浏览器都支持,主要在Firefox中...

    js-xml.rar_javascript_javascript xml_js xml_js解析xml_xml js

    jQuery库简化了JavaScript的XML处理,提供了如`$.parseXML()`, `$()`, `find()`, `children()`, `each()`等方法,使得XML操作更加简洁。 8. XML与JSON: 虽然XML用于数据交换,但JSON(JavaScript Object ...

Global site tag (gtag.js) - Google Analytics