自定义脚本语言引擎开发纪实 -解析xml格式数据

备注

脚本引擎会把xml转化为k-v对。不过xml的data是没有key即属性名的,引擎会给他设置为属性self$data的值


xml例子

<Doc>
    <sid>
        <product id="10236"/>
        <combo id="50789"/>
    </sid>
    <Ele>
        <item cs="天黑.css">项目1</item>
        <item cs="落日.css">项目2</item>
    </Ele>
</Doc>

可以发现sid字段的字节点名字都不一样,Ele的子节点名字一样,他们解析的方式有点不同。

脚本代码

xmlDoc="<Doc><sid><product id=\"10236\"/><combo id=\"50789\"/></sid><Ele><item cs=\"天黑.css\">项目1</item><item cs=\"落日.css\">项目2</item></Ele></Doc>"

xml=js.xml.parse(xmlDoc)

js.debug.log("[script] 解析sid子节点的元素");
js.debug.log("[script] " + xml.sid.product.id);
js.debug.log("[script] " + xml.sid.combo.id);

js.debug.log("[script] 遍历Ele节点元素");
items=xml.Ele
foreach(k,v in items)
	js.debug.log("[script] " + k + " " + v.cs + " "  + v.self$data);
end

执行结果

[1888] [script] 解析sid子节点的元素
[1888] [script] 10236
[1888] [script] 50789
[1888] [script] 遍历Ele节点元素
[1888] [script] item 天黑.css 项目1
[1888] [script] item 落日.css 项目2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章