使用XML、Array、Object对象处理xml杂谈——实例讨论
2006-07-31 17:03
465 查看
something.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<questions>
<question sth="The People's Republic of China..."/>
<question sth="I need one more stamp..."/>
<question sth="All the new computers..."/>
</questions>
在Flash中使用XML对象:
var my_xml = new XML();
var idx = 0;
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success) {
if (success) {
trace(this.firstChild.childNodes[idx].attributes.sth);
//访问question节点的sth属性。
}
};
my_xml.load("something.xml");
当需要遍历访问xml时,比较遗憾!它没有length属性,而Array对象有。我们把它转成Array:
var my_xml = new XML();
var my_array = new Array();
var xmlLength = 0;
var idx = 0;
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success) {
if (success) {
while (this.firstChild.childNodes[xmlLength]) {
my_array.push(this.firstChild.childNodes[xmlLength]);
xmlLength++;
}
trace(my_array[idx].attributes.sth);
//此时访问question节点的sth属性的方法有所改变。
}
};
my_xml.load("question.xml");
再看看Object:
var my_xml = new XML();
var my_obj = new Object();
var idx = 0;
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success) {
if (success) {
my_obj = this;
trace(my_obj.firstChild.childNodes[idx].attributes.sth);
//这里访问question节点的sth属性的方法与使用XML对象完全一致。但这里的my_obj一旦改变,my_xml也随之改变,反之亦然。
}
};
my_xml.load("question.xml");
比较三者,本人推荐使用Array。
ps: 发布设置为Flash Player 6时不支持“
”软回车符(即某些文本编辑器如sepy的换行符,在记事本中是一个小黑疙瘩),Flash Player 7及以上版本支持。
当需要遍历访问xml时,比较遗憾!它没有length属性,而Array对象有
错了 XML有一个length 属性
可以通过
Myxml = new XML();
Myxml.onLoad = function(success) {
if (success) {
secxml = myxml.firstChild.childNodes;
l = secxml.length;
trace(........)
.......
}
};
还可以直接输出它的长度:
trace(this.firstChild.childNodes.length);
<?xml version="1.0" encoding="utf-8"?>
<questions>
<question sth="The People's Republic of China..."/>
<question sth="I need one more stamp..."/>
<question sth="All the new computers..."/>
</questions>
在Flash中使用XML对象:
var my_xml = new XML();
var idx = 0;
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success) {
if (success) {
trace(this.firstChild.childNodes[idx].attributes.sth);
//访问question节点的sth属性。
}
};
my_xml.load("something.xml");
当需要遍历访问xml时,比较遗憾!它没有length属性,而Array对象有。我们把它转成Array:
var my_xml = new XML();
var my_array = new Array();
var xmlLength = 0;
var idx = 0;
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success) {
if (success) {
while (this.firstChild.childNodes[xmlLength]) {
my_array.push(this.firstChild.childNodes[xmlLength]);
xmlLength++;
}
trace(my_array[idx].attributes.sth);
//此时访问question节点的sth属性的方法有所改变。
}
};
my_xml.load("question.xml");
再看看Object:
var my_xml = new XML();
var my_obj = new Object();
var idx = 0;
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success) {
if (success) {
my_obj = this;
trace(my_obj.firstChild.childNodes[idx].attributes.sth);
//这里访问question节点的sth属性的方法与使用XML对象完全一致。但这里的my_obj一旦改变,my_xml也随之改变,反之亦然。
}
};
my_xml.load("question.xml");
比较三者,本人推荐使用Array。
ps: 发布设置为Flash Player 6时不支持“
”软回车符(即某些文本编辑器如sepy的换行符,在记事本中是一个小黑疙瘩),Flash Player 7及以上版本支持。
当需要遍历访问xml时,比较遗憾!它没有length属性,而Array对象有
错了 XML有一个length 属性
可以通过
Myxml = new XML();
Myxml.onLoad = function(success) {
if (success) {
secxml = myxml.firstChild.childNodes;
l = secxml.length;
trace(........)
.......
}
};
还可以直接输出它的长度:
trace(this.firstChild.childNodes.length);
相关文章推荐
- JS 使用List<Object> 对象中的Object对象的某个属性的临时处理方法
- 使用json-lib将Java对象转SONObject,Java集合转JSONArray
- java JSONObject JSONArray对象使用小记
- 使用JAXB实现JAVA对象和XML字符串的互相转换实例
- 42.异常处理实例对象的使用
- 使用json_decode()转换返回数组或对象时出现:Cannot use object of type stdClass as array
- Object-C: 学习实例3 使用集合对象
- json-lib使用,JSONObject和JSONArray---js处理json
- perl XML::Parser使用object方法处理XML
- 一般处理程序里使用session对象为null,未将对象引用到实例化
- 使用JAXB实现JAVA对象和XML字符串的互相转换实例
- 一般处理程序使用Session报错(未将对象引用设置到对象实例)
- 使用Array类处理基本数组对象
- SharedObject使用:在FluorineFx.net与Flex中使用共享对象维护在线用户列表实例【转】
- 对象中含有java.util.Date时使用JSONArray.fromObject时时间显示问题
- 使用Object.definePropery方法定义一个只读对象实例
- 使用表单传递参数,request处理参数出现"未将对象引用设置到对象的实例
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- 一般处理程序里使用session对象为null,未将对象引用到实例化
- web服务端使用JSONArrayy或JSONObject转json字符串为Java对象或数组