怎么获取xml多个值
xml文档:
<category>
<itemid>EST-1</itemid>
<productid>FI-SW-01</productid>
<name>天使鱼</name>
<price>¥18.50</price>
<itemid>EST-3</itemid>
<productid>FI-SW-02</productid>
<name>虎鲨</name>
<price>¥18.50</price>
<itemid>EST-4</itemid>
<productid>FI-FW-01</productid>
<name>锦鲤</name>
<price>¥18.50</price>
<itemid>EST-20</itemid>
<productid>FI-FW-02</productid>
<name>金鱼</name>
<price>¥18.50</price>
</category>
例如:我想获取xml里面的所有<name>标签的值,高手帮忙,急?????
[解决办法]
var xxx:XML = <category>
<itemid>EST-1</itemid>
<productid>FI-SW-01</productid>
<name>天使鱼</name>
<price>¥18.50</price>
<itemid>EST-3</itemid>
<productid>FI-SW-02</productid>
<name>虎鲨</name>
<price>¥18.50</price>
<itemid>EST-4</itemid>
<productid>FI-FW-01</productid>
<name>锦鲤</name>
<price>¥18.50</price>
<itemid>EST-20</itemid>
<productid>FI-FW-02</productid>
<name>金鱼</name>
<price>¥18.50</price>
</category>;
var nameList:XMLList = xxx["name"]
for(var i:int=0;i<nameList.children().length();i++){
trace(nameList.children()[i])
}
[解决办法]
直接取.
- Java code
var str:String= <category><itemid>EST-1</itemid><productid>FI-SW-01</productid><name>天使鱼</name><price>¥18.50</price><itemid>EST-3</itemid><productid>FI-SW-02</productid><name>虎鲨</name><price>¥18.50</price><itemid>EST-4</itemid><productid>FI-FW-01</productid><name>锦鲤</name><price>¥18.50</price><itemid>EST-20</itemid><productid>FI-FW-02</productid><name>金鱼</name><price>¥18.50</price></category>;var xml:XML = XML(str);for (var i:Object in xml.name){ trace(xml.name[i])}
[解决办法]
XML.child(name)应该可以直接取到name标签的XMLList对象。
像LS的循环操作也是可以的。
[解决办法]
[解决办法]
var root:XMLNode = lx.firstChild;//取得根对象的子节点
可以写个遍历解析也可以用递归
root.childNodes[j].nodeName; //获得名
root.childNodes[j].firstChild;//值
然后判断下 var nameV = (root.childNodes[j].nodeName=="name")? root.childNodes[j].firstChild:0;
具体你搜索下网上好多
[解决办法]
trace(yourXML.name)
输出:
<name>天使鱼</name>
<name>虎鲨</name>
<name>锦鲤</name>
<name>金鱼</name>
trace(yourXML.name[1])
输出:
虎鲨
--------------------------
对EST-1进行赋值:
private var xml:XML = yourXML
<mx:DataGridColumn headerText= "图片 " dataField= 你的xml里没有 />
<mx:DataGridColumn headerText= "项目编号 " dataField= xml.itemid[0]/>
<mx:DataGridColumn headerText= "商品编号 " dataField= xml.productid[0]/>
<mx:DataGridColumn headerText= "名称 " dataField= xml.name[0]/>
<mx:DataGridColumn headerText= "价格 " dataField= xml.price[0]/>
--------------------------
其实as3对xml的操作非常方便。对于网络通信来说也很重要。建议楼主系统的去看一下。
[解决办法]