📄 sdo-das-xml.examples.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Examples</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="sdo-das-xml.constants.html">Predefined Constants</a></div> <div class="next" style="text-align: right; float: right;"><a href="ref.sdo-das-xml.html">SDO DAS XML Functions</a></div> <div class="up"><a href="book.sdo-das-xml.html">SDO DAS XML</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div> <h1>Examples</h1> <p class="para"> Several of the following examples are based on the <a href="sdo.sample.sequence.html" class="link">letter example</a> described in the <a href="ref.sdo.html" class="link">SDO documentation</a>. The examples assume the XML Schema for the letter is contained in a file <var class="filename">letter.xsd</var> and the letter instance is in the file <var class="filename">letter.xml</var>. These two files are reproduced here: </p> <p class="para"> <div class="example-contents"><div class="cdata"><pre><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:letter="http://letterSchema" targetNamespace="http://letterSchema"> <xsd:element name="letters" type="letter:FormLetter"/> <xsd:complexType name="FormLetter" mixed="true"> <xsd:sequence> <xsd:element name="date" minOccurs="0" type="xsd:string"/> <xsd:element name="firstName" minOccurs="0" type="xsd:string"/> <xsd:element name="lastName" minOccurs="0" type="xsd:string"/> </xsd:sequence> </xsd:complexType></xsd:schema></pre></div> </div> </p> <p class="para"> <div class="example-contents"><div class="cdata"><pre><letter:letters xmlns:letter="http://letterSchema"> <date>March 1, 2005</date> Mutual of Omaha Wild Kingdom, USA Dear <firstName>Casy</firstName> <lastName>Crocodile</lastName> Please buy more shark repellent. Your premium is past due.</letter:letters></pre></div> </div> </p> <div class="example"> <p><b>Example #1 Loading, altering, and saving an XML document</b></p> <div class="example-contents"><p> The following example shows how an XML document can be loaded from a file, altered, and written back. </p></div> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">/**<br /> * Load, update, and save an XML document<br /> */<br /></span><span style="color: #007700">try {<br /> </span><span style="color: #0000BB">$xmldas </span><span style="color: #007700">= </span><span style="color: #0000BB">SDO_DAS_XML</span><span style="color: #007700">::</span><span style="color: #0000BB">create</span><span style="color: #007700">(</span><span style="color: #DD0000">"letter.xsd"</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$document </span><span style="color: #007700">= </span><span style="color: #0000BB">$xmldas</span><span style="color: #007700">-></span><span style="color: #0000BB">loadFile</span><span style="color: #007700">(</span><span style="color: #DD0000">"letter.xml"</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$root_data_object </span><span style="color: #007700">= </span><span style="color: #0000BB">$document</span><span style="color: #007700">-></span><span style="color: #0000BB">getRootDataObject</span><span style="color: #007700">();<br /> </span><span style="color: #0000BB">$root_data_object</span><span style="color: #007700">-></span><span style="color: #0000BB">date </span><span style="color: #007700">= </span><span style="color: #DD0000">"September 03, 2004"</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$root_data_object</span><span style="color: #007700">-></span><span style="color: #0000BB">firstName </span><span style="color: #007700">= </span><span style="color: #DD0000">"Anantoju"</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$root_data_object</span><span style="color: #007700">-></span><span style="color: #0000BB">lastName </span><span style="color: #007700">= </span><span style="color: #DD0000">"Madhu"</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$xmldas</span><span style="color: #007700">-></span><span style="color: #0000BB">saveFile</span><span style="color: #007700">(</span><span style="color: #0000BB">$document</span><span style="color: #007700">, </span><span style="color: #DD0000">"letter-out.xml"</span><span style="color: #007700">);<br /> echo </span><span style="color: #DD0000">"New file has been written:\n"</span><span style="color: #007700">;<br /> print </span><span style="color: #0000BB">file_get_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">"letter-out.xml"</span><span style="color: #007700">);<br />} catch (</span><span style="color: #0000BB">SDO_Exception $e</span><span style="color: #007700">) {<br /> print(</span><span style="color: #0000BB">$e</span><span style="color: #007700">-></span><span style="color: #0000BB">getMessage</span><span style="color: #007700">());<br />}<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> <div class="example-contents"><p> An instance of the XML DAS is first obtained from the <a href="function.sdo-das-xml-create.html" class="function">SDO_DAS_XML::create()</a> method, which is a static method of the <b class="classname">SDO_DAS_XML</b> class. The location of the xsd is passed as a parameter. Once we have an instance of the XML DAS initialised with a given schema, we can use it to load the instance document using the <b>loadFile()</b> method. There is also a <b>loadString()</b> method if you want to load an XML instance document from a string. If the instance document loads successfully, you will be returned an object of type <b class="classname">SDO_DAS_XML_Document</b>, on which you can call the <b>getRootDataObject()</b> method to get the SDO data object which is the root of the SDO data graph. You can then use SDO operations to change the graph. In this example we alter the <var class="varname"><a href="function.date.html" class="classname">date</a></var>, <var class="varname">firstName</var>, and <var class="varname">lastName</var> properties. Then we use the <b>saveFile()</b> method to write the changed document back to the file system. The saveFile method has an optional extra integer argument which if specified will cause the XML DAS to format the XML, using the integer as the amount to indent by at each change in level on the document. </p></div> <div class="example-contents"><p> This will write the following to <var class="filename">letter-out.xml</var>. </p></div> <div class="example-contents"> <div class="cdata"><pre><?xml version="1.0" encoding="UTF-8"?><FormLetter xmlns="http://letterSchema" xsi:type="FormLetter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <date>September 03, 2004</date> Mutual of Omaha Wild Kingdom, USA Dear <firstName>Anantoju</firstName> <lastName>Madhu</lastName> Please buy more shark repellent. Your premium is past due.</FormLetter> </pre></div> </div> </div> <div class="example"> <p><b>Example #2 Creating a new XML document</b></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -