您的位置:首页 > 其它

使用PBDOM读取XML的一个例子

2005-08-31 09:06 639 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: