近期,在医院HIS系统开发中,要用到PB(PowerBuilder)程序解析XML格式字符串,参考网上提供的方法,结合自己的实践,整理一下,供大家参考学习。
解析XML文件要使用到PBDOM_Builder、PBDOM_Document、PBDOM_Element等类,这些类无法直接使用,需要将PowerBuilder安装目录下的pbdom90.pbd文件导入PB项目工程中。
1. 导入pbdom90.pbd文件
将pbdom90.pbd拷贝到工程目录下,鼠标右击工程,选择properties,弹出如下界面,选择browse,选中pbdom90.pbd文件,确定即可完成导入。
2.基于pbdom90.pbd,编写解析xml的代码
//定义基本变量
PBDOM_Builder builder
PBDOM_Document doc
PBDOM_Element root, children[], element
string value
builder = Create PBDOM_BUILDER
//in_xml为要解析的xml字符串
//例如<Response><resultCode>S0000</resultCode></Response>
//要获取resultCode的值,进行下列操作即可获得
doc = builder.BuildFromString(in_xml)
// Get the root element of the document
root = doc.GetRootElement() // Get an array of all child elements
root.GetChildElements(children)
// Get only elements with a given name
//Response为xml字符串的根节点,即最外层节点
root.GetChildElements( "Response", children ) // Get the first element with a given name
string resultCode
//resultCode为子节点,通过GetText()函数即可获得子节点resultCode的值s0000
resultCode = root.GetChildElement( "resultCode" ).GetText()