使用PBDOM读取XML的一个例子

1、创建pbdom_doc_1.xml,内容如下:

<!DOCTYPE abc [<!ENTITY text "Some Text" >]>
 <abc>
   <data>
     <child_data>Child Data Text</child_data>
     <child_data An_Attribute="Some Attribute Value"/>
     &text;
     <!--Comment String-->
     <![CDATA[Some CDATA String]]>
   </data>
 </abc>

2、将PBDOM90.PBD添加进来(因为编译器的版本为pb9)

读取代码如下:

PBDOM_BUILDER pbdom_bldr
PBDOM_Document pbdom_doc
PBDOM_Object pbdom_obj_array[]
PBDOM_Element pbdom_elem
integer iFileNum1
long l = 0
Try
 // Create a PBDOM_DOCUMENT from the XML file
 pbdom_bldr = Create PBDOM_Builder
pbdom_doc = pbdom_bldr.BuildFromFile ("pbdom_doc_1.xml")
 // Test the contents of the PBDOM_DOCUMENT
 // First test the PBDOM_DOCTYPE in the document
   MessageBox ("PBDOM_DOCTYPE GetName()", pbdom_doc.GetDocType().GetName())
   MessageBox ("PBDOM_DOCTYPE GetInternalSubset()", pbdom_doc.GetDocType().GetInternalSubset())
 // Test the root element
   MessageBox ("PBDOM_DOC Root Element Name",  pbdom_doc.GetRootElement().GetName())
// test the root element's child element
   MessageBox ("PBDOM_DOC <data> Element Name",  pbdom_doc.GetRootElement().GetChildElement("data").GetName())
 // Collect all the child PBDOM_OBJECTs of the
 // <data> element
   pbdom_doc.GetRootElement().GetChildElement("data").GetContent(pbdom_obj_array)
 // Display the class name, the name and the text contained
 // within each PBDOM_OBJECT array item
   for l = 1 to UpperBound(pbdom_obj_array)
     MessageBox ("Child Object " + string(l) + " Class",pbdom_obj_array[l].GetObjectClassString())
     MessageBox ("Child Object " + string(l) + " Name", pbdom_obj_array[l].GetName())
     MessageBox ("Child Object " + string(l) + " Text",pbdom_obj_array[l].GetText())
   next
 // Retrieve and display the name and text value of the
 // "An_Attribute" attribute from the <child_data> element
    pbdom_elem = pbdom_obj_array[2]
   MessageBox ("child_data Attribute name", pbdom_elem.GetAttribute("An_Attribute").GetName())
   MessageBox ("child_data Attribute value", pbdom_elem.GetAttribute("An_Attribute").GetText())
 // save the DOM Tree contained within pbdom_doc into
 // a separate file "c:/pbdom_doc_2.xml"
   pbdom_doc.SaveDocument ("pbdom_doc_2.xml")
   Destroy pbdom_bldr
 CATCH (PBDOM_Exception except)
 MessageBox ("Exception Occurred", except.Text)
 END TRY

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值