PBDOM_CHARACTERDATA:
SetParentObject method
Description
The SetParentObject method
sets the referenced PBDOM_OBJECT to be the parent of the
current PBDOM_CHARACTERDATA.
Syntax
1 |
<span>pbdom_chardata_name</span>.SetParentObject(pbdom_object <span>pbdom_object_ref</span><span></span>) |
Argument |
Description |
---|---|
pbdom_chardata_name |
The name of a PBDOM_CHARACTERDATA |
pbdom_object_ref |
A PBDOM_OBJECT to be set as |
Return Values
PBDOM_OBJECT.
Throws
EXCEPTION_PBDOM_OBJECT_INVALID_FOR_USE – If
this PBDOM_CHARACTERDATA is not a reference to an object
derived from PBDOM_CHARACTERDATA. This exception also occurs
if the input PBDOM_OBJECT is not a reference to an object
derived from PBDOM_OBJECT.
EXCEPTION_PBDOM_OBJECT_ALREADY_HAS_PARENT – If
the current PBDOM_CHARACTERDATA already has a parent.
EXCEPTION_INAPPROPRIATE_USE_OF_PBDOM_OBJECT – If
the input PBDOM_OBJECT is of a class that does not have
a proper parent-child relationship with the class of this PBDOM_CHARACTERDATA.
EXCEPTION_USE_OF_UNNAMED_PBDOM_OBJECT – If
the input PBDOM_OBJECT requires a user-defined name, and
it has not been named.
Examples
This example creates a PDBOM_DOCUMENT based
on the following DOM tree:
1 |
<abc><br>   <data><br>      <child_1/><br>      <child_2/><br>      <child_3/><br></data><br></abc> |
The
code creates three separate types of PBDOM_CHARACTERDATA objects
and stores them in the pbdom_chardata array.
It then obtains the root element, uses it to obtain the data child
element, and then uses that to obtain the first child element, which
it sets as the parent of the first item in the pbdom_chardata array.
The text of the array item is set to Comment. You can set
the string content of any PBDOM_CHARACTERDATA object after
you have set it as the child of a parent.
The same process is repeated for the text and CDATA objects:
1 |
PBDOM_Builder        pbdombuilder_new<br>pbdom_document       pbdom_doc<br>PBDOM_CHARACTERDATA  pbdom_chardata[]<br>PBDOM_ELEMENT        pbdom_elem<br>long                 = 0<br>string strXML = "<abc><data><child_1/><child_2/><child_3/></data></abc>"<br> <br>TRY<br> pbdombuilder_new = Create PBDOM_Builder<br> pbdom_doc = pbdombuilder_new.BuildFromString (strXML)<br> <br> pbdom_chardata[1] = Create PBDOM_COMMENT<br> pbdom_chardata[2] = Create PBDOM_TEXT<br> pbdom_chardata[3] = Create PBDOM_CDATA<br> <br> pbdom_elem = pbdom_doc.GetRootElement(). &<br>    GetChildElement("data").GetChildElement("child_1")<br> pbdom_chardata[1].SetParentObject (pbdom_elem)<br> pbdom_chardata[1].SetText ("Comment")<br> <br> pbdom_elem = pbdom_doc.GetRootElement(). &<br>    GetChildElement("data").GetChildElement("child_2")<br> pbdom_chardata[2].SetParentObject (pbdom_elem)<br> pbdom_chardata[2].SetText ("Text")<br> <br> pbdom_elem = pbdom_doc.GetRootElement(). &<br>    GetChildElement("data").GetChildElement("child_3")<br> pbdom_chardata[3].SetParentObject (pbdom_elem)<br> pbdom_chardata[3].SetText ("CDATA")<br> <br> pbdom_doc.SaveDocument ("c:pbdom_doc_1.xml")<br> <br> Destroy pbdombuilder_new<br> <br>CATCH (PBDOM_Exception except)<br> MessageBox ("Exception Occurred", except.Text)<br>END TRY |
When the PBDOM_DOCUMENT is saved to a file, the output
DOM tree looks like this:
1 |
<abc><br>   <data><br>      <child_1><br>         <!--Comment--><br>      </child_1><br>      <child_2><br>         Text<br>      </child_2><br>      <child_3><br>         <![CDATA[CDATA]]><br>      </child_3><br>   </data><br></abc> |
Usage
The PBDOM_OBJECT that you set to be the parent of
the current PBDOM_CHARACTERDATA must have a legal parent-child
relationship. If it does not, an exception is thrown.