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 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
- ¥15 求daily translation(DT)偏差订正方法的代码
- ¥15 js调用html页面需要隐藏某个按钮
- ¥15 ads仿真结果在圆图上是怎么读数的
- ¥20 Cotex M3的调试和程序执行方式是什么样的?
- ¥20 java项目连接sqlserver时报ssl相关错误
- ¥15 一道python难题3
- ¥15 牛顿斯科特系数表表示
- ¥15 arduino 步进电机
- ¥20 程序进入HardFault_Handler