PowerBuilder9.0 如何使用PBDOM读取XML文件,并将其显示在TreeView中
4条回答
- oyljerry 2015-07-16 09:32关注
OLEObject lobj_dom OLEObject lole_domnodelist,lole_domcurnode string as_xml,ls_nodevalue,ls_nodename long ll_catalog,ll_activities,ll_activity integer li_return boolean lb_return string ls_id, ls_author, ls_title, ls_genre, ls_price, ls_publish_date, ls_description lobj_dom = CREATE OLEObject li_return = lobj_dom.ConnectToNewObject ("Msxml2.DOMDocument.3.0") IF li_return <> 0 THEN MessageBox ("Connection Error", "Unable to connect to the OLE object.~r~n~r~nError code = '" + String(li_return) + "'", Exclamation!, OK!) Return END IF lobj_dom.Async = FALSE lobj_dom.ValidateonParse = TRUE lb_return = lobj_dom.loadxml(as_xml) If lobj_dom.parseError.ErrorCode <> 0 then Messagebox('',string( lobj_dom.parseError.reason )) return end if lole_domnodelist = lobj_dom.getElementsByTagName("catalog") lole_domcurnode = lole_domnodelist.nextNode // Solution 1 /* for ll_catalog = 0 to lole_domcurnode.childNodes.Length -1 ls_id = lole_domcurnode.childNodes(ll_catalog).getattribute("id") ls_author = lole_domcurnode.childNodes(ll_catalog).childNodes.Item(0).text ls_title = lole_domcurnode.childNodes(ll_catalog).childNodes.Item(1).text ls_genre = lole_domcurnode.childNodes(ll_catalog).childNodes.Item(2).text ls_price = lole_domcurnode.childNodes(ll_catalog).childNodes.Item(3).text ls_publish_date = lole_domcurnode.childNodes(ll_catalog).childNodes.Item(4).text ls_description = lole_domcurnode.childNodes(ll_catalog).childNodes.Item(5).text Messagebox(string(ll_catalog),ls_id + '~r~n' + ls_author + '~r~n' + ls_title + '~r~n' + ls_genre + '~r~n' + ls_price + '~r~n' + ls_publish_date + '~r~n' + ls_description) Next */ // Solution 2 for ll_catalog = 0 to lole_domcurnode.childNodes.Length -1 ls_id = lole_domcurnode.childNodes(ll_catalog).getattribute("id") ll_activities = lole_domcurnode.childNodes(ll_catalog).childNodes.length - 1 For ll_activity = 0 to ll_activities ls_nodename = lole_domcurnode.childNodes(ll_catalog).childnodes.Item(ll_activity).nodeName ls_nodevalue = lole_domcurnode.childNodes(ll_catalog).childNodes.Item(ll_activity).text Choose Case ls_nodename Case 'author' ls_author = ls_nodevalue Case 'title' ls_title = ls_nodevalue Case 'genre' ls_genre = ls_nodevalue Case 'price' ls_price = ls_nodevalue Case 'publish_date' ls_publish_date = ls_nodevalue Case 'description' ls_description = ls_nodevalue End Choose Next Messagebox(string(ll_catalog),ls_id + '~r~n' + ls_author + '~r~n' + ls_title + '~r~n' + ls_genre + '~r~n' + ls_price + '~r~n' + ls_publish_date + '~r~n' + ls_description) Next
解决 无用评论 打赏 举报
悬赏问题
- ¥15 基于卷积神经网络的声纹识别
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 stm32开发clion时遇到的编译问题