<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2FDomDocument</id>
		<title>PHP/XML/DomDocument - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2FDomDocument"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/DomDocument&amp;action=history"/>
		<updated>2026-04-04T10:53:50Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/DomDocument&amp;diff=1596&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/DomDocument&amp;diff=1596&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/DomDocument&amp;diff=1597&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/DomDocument&amp;diff=1597&amp;oldid=prev"/>
				<updated>2010-05-26T07:08:24Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Append children==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$root = new DomDocument ( &amp;quot;1.0&amp;quot;, &amp;quot;iso-8859-1&amp;quot; );&lt;br /&gt;
$html = $root-&amp;gt;createElement ( &amp;quot;html&amp;quot; );&lt;br /&gt;
$body = $root-&amp;gt;createElement ( &amp;quot;body&amp;quot; );&lt;br /&gt;
$table = $root-&amp;gt;createElement ( &amp;quot;table&amp;quot; );&lt;br /&gt;
$row = $root-&amp;gt;createElement ( &amp;quot;tr&amp;quot; );&lt;br /&gt;
$cell = $root-&amp;gt;createElement ( &amp;quot;td&amp;quot;, &amp;quot;value1&amp;quot; );&lt;br /&gt;
$row-&amp;gt;appendChild ( $cell );&lt;br /&gt;
$cell = $root-&amp;gt;createElement ( &amp;quot;td&amp;quot;, &amp;quot;value2&amp;quot; );&lt;br /&gt;
$row-&amp;gt;appendChild ( $cell );&lt;br /&gt;
$table-&amp;gt;appendChild ( $row );&lt;br /&gt;
$body-&amp;gt;appendChild ( $table );&lt;br /&gt;
$html-&amp;gt;appendChild ( $body );&lt;br /&gt;
$root-&amp;gt;appendChild ( $html );&lt;br /&gt;
$row = $root-&amp;gt;createElement ( &amp;quot;tr&amp;quot; );&lt;br /&gt;
$cell = $root-&amp;gt;createElement ( &amp;quot;td&amp;quot;, &amp;quot;value3&amp;quot; );&lt;br /&gt;
$row-&amp;gt;appendChild ( $cell );&lt;br /&gt;
$cell = $root-&amp;gt;createElement ( &amp;quot;td&amp;quot;, &amp;quot;value4&amp;quot; );&lt;br /&gt;
$row-&amp;gt;appendChild ( $cell );&lt;br /&gt;
$table-&amp;gt;appendChild ( $row );&lt;br /&gt;
echo $root-&amp;gt;saveHTML ();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Constructing an XML Document with the DOM Functions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$news = array(&lt;br /&gt;
  array( &amp;quot;headline&amp;quot; =&amp;gt; &amp;quot;header&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot; =&amp;gt; &amp;quot;high.gif&amp;quot;,&lt;br /&gt;
    &amp;quot;byline&amp;quot; =&amp;gt; &amp;quot;line&amp;quot;,&lt;br /&gt;
    &amp;quot;article&amp;quot; =&amp;gt; &amp;quot;news&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot; =&amp;gt; &amp;quot;short&amp;quot;&lt;br /&gt;
    )&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$doc = new DomDocument(&amp;quot;1.0&amp;quot;);&lt;br /&gt;
$root = $doc-&amp;gt;appendChild( $doc-&amp;gt;createElement(&amp;quot;banana-news&amp;quot;) );&lt;br /&gt;
foreach( $news as $newselement ) {&lt;br /&gt;
  $item = $root-&amp;gt;appendChild( $doc-&amp;gt;createElement( &amp;quot;newsitem&amp;quot;) );&lt;br /&gt;
  $item-&amp;gt;setAttribute( &amp;quot;type&amp;quot;, $newselement[&amp;quot;type&amp;quot;] );&lt;br /&gt;
  foreach( array(&amp;quot;headline&amp;quot;, &amp;quot;image&amp;quot;, &amp;quot;byline&amp;quot;) as $tagname ) {&lt;br /&gt;
    $el = $doc-&amp;gt;createElement( $tagname );&lt;br /&gt;
    $item-&amp;gt;appendChild( $el );&lt;br /&gt;
    $text = $doc-&amp;gt;createTextNode( $newselement[$tagname] );&lt;br /&gt;
    $el-&amp;gt;appendChild( $text );&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
print $doc-&amp;gt;saveXML( );&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create element with DomDocument==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
#load an XML document into the DOM&lt;br /&gt;
$dom = new DomDocument();&lt;br /&gt;
$dom -&amp;gt; load(&amp;quot;books.xml&amp;quot;);&lt;br /&gt;
$title =  $dom -&amp;gt; createElement(&amp;quot;title&amp;quot;);&lt;br /&gt;
#create text nodes&lt;br /&gt;
$topictext =  $dom -&amp;gt; createTextNode(&amp;quot;Linux&amp;quot;);&lt;br /&gt;
#append the text nodes to the inner nested elements&lt;br /&gt;
$topic  -&amp;gt; appendChild($topictext);&lt;br /&gt;
#append the inner nested elements to the &amp;lt;title&amp;gt; element&lt;br /&gt;
$title -&amp;gt; appendChild($topic);&lt;br /&gt;
#append the &amp;lt;title&amp;gt; element to the root element&lt;br /&gt;
$dom -&amp;gt; documentElement -&amp;gt; appendChild($title);&lt;br /&gt;
#create a new enlarged xml document&lt;br /&gt;
$dom -&amp;gt; save(&amp;quot;newbooks.xml&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create the script that uses the DOM extension to create a list of title and book_id attributes.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$doc = DOMDocument::load(&amp;quot;books.xml&amp;quot;);&lt;br /&gt;
$books = $doc-&amp;gt;getElementsByTagName(&amp;quot;book&amp;quot;);&lt;br /&gt;
foreach($books as $book) {&lt;br /&gt;
  $titles = $book-&amp;gt;getElementsByTagName(&amp;quot;title&amp;quot;);&lt;br /&gt;
  foreach($titles as $title) {&lt;br /&gt;
    echo $title-&amp;gt;nodeValue . &amp;quot; - &amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  $id = $book-&amp;gt;getAttribute(&amp;quot;book_id&amp;quot;);&lt;br /&gt;
    echo &amp;quot;book_id = $id\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating and Setting Attributes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$root = new DomDocument(&amp;quot;1.0&amp;quot;, &amp;quot;iso-8859-1&amp;quot;);&lt;br /&gt;
$html = $root-&amp;gt;createElement(&amp;quot;html&amp;quot;);&lt;br /&gt;
$body = $root-&amp;gt;createElement(&amp;quot;body&amp;quot;);&lt;br /&gt;
$table = $root-&amp;gt;createElement(&amp;quot;table&amp;quot;);&lt;br /&gt;
$w = $root-&amp;gt;createAttribute(&amp;quot;width&amp;quot;);&lt;br /&gt;
$table-&amp;gt;appendChild($w);&lt;br /&gt;
$h = $root-&amp;gt;createAttribute(&amp;quot;height&amp;quot;);&lt;br /&gt;
$table-&amp;gt;appendChild($h);&lt;br /&gt;
$b = $root-&amp;gt;createAttribute(&amp;quot;border&amp;quot;);&lt;br /&gt;
$table-&amp;gt;appendChild($b);&lt;br /&gt;
$table-&amp;gt;setAttribute(&amp;quot;width&amp;quot;, &amp;quot;100%&amp;quot;);&lt;br /&gt;
$table-&amp;gt;setAttribute(&amp;quot;height&amp;quot;, &amp;quot;50%&amp;quot;);&lt;br /&gt;
$table-&amp;gt;setAttribute(&amp;quot;border&amp;quot;, &amp;quot;1&amp;quot;);&lt;br /&gt;
$row = $root-&amp;gt;createElement(&amp;quot;tr&amp;quot;);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value1&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value2&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$table-&amp;gt;appendChild($row);&lt;br /&gt;
$body-&amp;gt;appendChild($table);&lt;br /&gt;
$html-&amp;gt;appendChild($body);&lt;br /&gt;
$root-&amp;gt;appendChild($html);&lt;br /&gt;
echo $root-&amp;gt;saveHTML();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DOM editing with DomDocument==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$root = new DomDocument(&amp;quot;1.0&amp;quot;, &amp;quot;iso-8859-1&amp;quot;);&lt;br /&gt;
$html = $root-&amp;gt;createElement(&amp;quot;html&amp;quot;);&lt;br /&gt;
$body = $root-&amp;gt;createElement(&amp;quot;body&amp;quot;);&lt;br /&gt;
$table = $root-&amp;gt;createElement(&amp;quot;table&amp;quot;);&lt;br /&gt;
$row = $root-&amp;gt;createElement(&amp;quot;tr&amp;quot;);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value1&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value2&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$table-&amp;gt;appendChild($row);&lt;br /&gt;
$body-&amp;gt;appendChild($table);&lt;br /&gt;
$html-&amp;gt;appendChild($body);&lt;br /&gt;
$root-&amp;gt;appendChild($html);&lt;br /&gt;
$row = $root-&amp;gt;createElement(&amp;quot;tr&amp;quot;);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value3&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value4&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$table-&amp;gt;appendChild($row);&lt;br /&gt;
echo $root-&amp;gt;saveHTML();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get element by tag name==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
$doc = DOMDocument::load(&amp;quot;books.xml&amp;quot;); &lt;br /&gt;
$books = $doc-&amp;gt;getElementsByTagName(&amp;quot;book&amp;quot;); &lt;br /&gt;
foreach($books as $book) { &lt;br /&gt;
    $titles = $book-&amp;gt;getElementsByTagName(&amp;quot;title&amp;quot;); &lt;br /&gt;
    foreach($titles as $title) { &lt;br /&gt;
        echo $title-&amp;gt;nodeValue . &amp;quot; - &amp;quot;; &lt;br /&gt;
    } &lt;br /&gt;
    $id = $book-&amp;gt;getAttribute(&amp;quot;book_id&amp;quot;); &lt;br /&gt;
    echo &amp;quot;book_id = $id\n&amp;quot;; &lt;br /&gt;
} &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loading from server==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$data = DOMDocument::load ( &amp;quot;http://data.org/data.xml&amp;quot; );&lt;br /&gt;
$stories = $data-&amp;gt;getElementsByTagName ( &amp;quot;story&amp;quot; );&lt;br /&gt;
foreach ( $stories as $story ) {&lt;br /&gt;
  $titles = $story-&amp;gt;getElementsByTagName ( &amp;quot;title&amp;quot; );&lt;br /&gt;
  foreach ( $titles as $title ) {&lt;br /&gt;
    echo $title-&amp;gt;nodeValue . &amp;quot; - &amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loads the content of this file into a DOM object tree.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$data = DOMDocument::load(&amp;quot;http://data.org/data.xml&amp;quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Parsing XML==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$doc = DOMDocument::loadHTMLFile(&amp;quot;http://php.net&amp;quot;);&lt;br /&gt;
echo $doc-&amp;gt;saveHTML();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Remove the creation and appending of attributes and simply assign the needed attributes to the elements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$root = new DomDocument(&amp;quot;1.0&amp;quot;, &amp;quot;iso-8859-1&amp;quot;);&lt;br /&gt;
$html = $root-&amp;gt;createElement(&amp;quot;html&amp;quot;);&lt;br /&gt;
$body = $root-&amp;gt;createElement(&amp;quot;body&amp;quot;);&lt;br /&gt;
$table = $root-&amp;gt;createElement(&amp;quot;table&amp;quot;);&lt;br /&gt;
$table-&amp;gt;setAttribute(&amp;quot;width&amp;quot;, &amp;quot;100%&amp;quot;);&lt;br /&gt;
$table-&amp;gt;setAttribute(&amp;quot;height&amp;quot;, &amp;quot;50%&amp;quot;);&lt;br /&gt;
$table-&amp;gt;setAttribute(&amp;quot;border&amp;quot;, &amp;quot;1&amp;quot;);&lt;br /&gt;
$row = $root-&amp;gt;createElement(&amp;quot;tr&amp;quot;);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value1&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value2&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$table-&amp;gt;appendChild($row);&lt;br /&gt;
$body-&amp;gt;appendChild($table);&lt;br /&gt;
$html-&amp;gt;appendChild($body);&lt;br /&gt;
$root-&amp;gt;appendChild($html);&lt;br /&gt;
echo $root-&amp;gt;saveHTML();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Return a list of nodes that can be examined one at the time in a foreach() loop==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$data = DOMDocument::load(&amp;quot;http://yourdomain.org/data.xml&amp;quot;);&lt;br /&gt;
$stories = $data-&amp;gt;getElementsByTagName(&amp;quot;story&amp;quot;);&lt;br /&gt;
foreach($stories as $story) {&lt;br /&gt;
  $titles = $story-&amp;gt;getElementsByTagName(&amp;quot;title&amp;quot;);&lt;br /&gt;
  foreach($titles as $title) {&lt;br /&gt;
    echo $title-&amp;gt;nodeValue . &amp;quot; - &amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  $urls = $story-&amp;gt;getElementsByTagName(&amp;quot;url&amp;quot;);&lt;br /&gt;
  foreach($urls as $url) {&lt;br /&gt;
    echo $url-&amp;gt;nodeValue . &amp;quot;\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample Transformation File test-php5.php==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
      $path_xml = &amp;quot;f.xml&amp;quot;;&lt;br /&gt;
      $path_style = &amp;quot;f.xsl&amp;quot;;&lt;br /&gt;
      $xml_obj = new DomDocument;&lt;br /&gt;
      $xsl_obj = new DomDocument;&lt;br /&gt;
      if (!$xml_obj-&amp;gt;load($path_xml)) {&lt;br /&gt;
           echo &amp;quot;Error! Unable to open &amp;quot; . $path_xml . &amp;quot;!\n&amp;quot;;&lt;br /&gt;
           exit;&lt;br /&gt;
       }&lt;br /&gt;
       if (!$xsl_obj-&amp;gt;load($path_style)) {&lt;br /&gt;
           echo &amp;quot;Error! Unable to open &amp;quot; . $path_style . &amp;quot;!\n&amp;quot;;&lt;br /&gt;
           exit;&lt;br /&gt;
       }&lt;br /&gt;
       $xslt_parse = new xsltprocessor;&lt;br /&gt;
       $xslt_parse-&amp;gt;importStyleSheet($xsl_obj);&lt;br /&gt;
       echo $xslt_parse-&amp;gt;transformToXML($xml_obj);&lt;br /&gt;
   ?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Traversing a Tree of XML Nodes Using On-Demand Functions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$doc = new DomDocument(&amp;quot;1.0&amp;quot;);&lt;br /&gt;
$doc-&amp;gt;loadXML( file_get_contents(&amp;quot;data.xml&amp;quot;) );&lt;br /&gt;
$root = $doc-&amp;gt;firstChild;&lt;br /&gt;
$pointer = $root;&lt;br /&gt;
do {&lt;br /&gt;
  print $pointer-&amp;gt;tagName.&amp;quot;&amp;lt;br /&amp;gt;\n&amp;quot;;&lt;br /&gt;
} while ( $pointer = next_element( $pointer ) );&lt;br /&gt;
function next_element( DomNode $pointer ) {&lt;br /&gt;
  while ( $pointer = next_node( $pointer ) ) {&lt;br /&gt;
    if ( $pointer-&amp;gt;nodeType == XML_ELEMENT_NODE ) {&lt;br /&gt;
      return $pointer;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
function next_node( DomNode $pointer ) {&lt;br /&gt;
  if ( $pointer-&amp;gt;hasChildNodes() ) {&lt;br /&gt;
    return $pointer-&amp;gt;firstChild ;&lt;br /&gt;
  }&lt;br /&gt;
  if ( $next = $pointer-&amp;gt;nextSibling ) {&lt;br /&gt;
    return $next;&lt;br /&gt;
  }&lt;br /&gt;
  while( $pointer = $pointer-&amp;gt;parentNode ) {&lt;br /&gt;
    if ( $next=$pointer-&amp;gt;nextSibling ) {&lt;br /&gt;
      return $next;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Traversing a Tree of XML Nodes Using Recursion==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$doc = new DomDocument(&amp;quot;1.0&amp;quot;);&lt;br /&gt;
$doc-&amp;gt;loadXML( file_get_contents(&amp;quot;data.xml&amp;quot;) );&lt;br /&gt;
$root = $doc-&amp;gt;firstChild;&lt;br /&gt;
traverse( $root );&lt;br /&gt;
function traverse( DomNode $node, $level=0 ){&lt;br /&gt;
  handle_node( $node, $level );&lt;br /&gt;
 if ( $node-&amp;gt;hasChildNodes() ) {&lt;br /&gt;
   $children = $node-&amp;gt;childNodes;&lt;br /&gt;
   foreach( $children as $kid ) {&lt;br /&gt;
     if ( $kid-&amp;gt;nodeType == XML_ELEMENT_NODE ) {&lt;br /&gt;
       traverse( $kid, $level+1 );&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
function handle_node( DomNode $node, $level ) {&lt;br /&gt;
  for ( $x=0; $x&amp;lt;$level; $x++ ) {&lt;br /&gt;
    print &amp;quot; &amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  if ( $node-&amp;gt;nodeType == XML_ELEMENT_NODE ) {&lt;br /&gt;
    print $node-&amp;gt;tagName.&amp;quot;&amp;lt;br /&amp;gt;\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use the createTextNode() method to add multiple text strings to a body element in an HTML document.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$root = new DomDocument(&amp;quot;1.0&amp;quot;, &amp;quot;iso-8859-1&amp;quot;);&lt;br /&gt;
$html = $root-&amp;gt;createElement(&amp;quot;html&amp;quot;);&lt;br /&gt;
$body = $root-&amp;gt;createElement(&amp;quot;body&amp;quot;);&lt;br /&gt;
$txt = $root-&amp;gt;createTextNode(utf8_encode(&amp;quot;Danish characters ?\n&amp;quot;));&lt;br /&gt;
$body-&amp;gt;appendChild($txt);&lt;br /&gt;
$txt = $root-&amp;gt;createTextNode(utf8_encode(&amp;quot;&amp;amp;&amp;quot;));&lt;br /&gt;
$body-&amp;gt;appendChild($txt);&lt;br /&gt;
$html-&amp;gt;appendChild($body);&lt;br /&gt;
$root-&amp;gt;appendChild($html);&lt;br /&gt;
echo $root-&amp;gt;saveHTML();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using CDATA sections, or character data sections==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$root = new DomDocument ( &amp;quot;1.0&amp;quot;, &amp;quot;iso-8859-1&amp;quot; );&lt;br /&gt;
$html = $root-&amp;gt;createElement ( &amp;quot;html&amp;quot; );&lt;br /&gt;
$body = $root-&amp;gt;createElement ( &amp;quot;body&amp;quot; );&lt;br /&gt;
$script = $root-&amp;gt;createElement ( &amp;quot;script&amp;quot; );&lt;br /&gt;
$txt = $root-&amp;gt;createCDATASection ( &amp;quot;function SubmitForm() { &lt;br /&gt;
  if (document.myform.name.value == &amp;quot;&amp;quot;) { &lt;br /&gt;
    alert(&amp;quot;Name cannot be empty&amp;quot;); &lt;br /&gt;
    document.myform.name.focus(); &lt;br /&gt;
  } &lt;br /&gt;
}&amp;quot; );&lt;br /&gt;
$script-&amp;gt;appendChild ( $txt );&lt;br /&gt;
$body-&amp;gt;appendChild ( $script );&lt;br /&gt;
$html-&amp;gt;appendChild ( $body );&lt;br /&gt;
$root-&amp;gt;appendChild ( $html );&lt;br /&gt;
header ( &amp;quot;Content-Type: text/xml&amp;quot; );&lt;br /&gt;
echo $root-&amp;gt;saveXML ();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using DOM to Generate Markup==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$root = new DomDocument(&amp;quot;1.0&amp;quot;, &amp;quot;iso-8859-1&amp;quot;);&lt;br /&gt;
$html = $root-&amp;gt;createElement(&amp;quot;html&amp;quot;);&lt;br /&gt;
$body = $root-&amp;gt;createElement(&amp;quot;body&amp;quot;);&lt;br /&gt;
$table = $root-&amp;gt;createElement(&amp;quot;table&amp;quot;);&lt;br /&gt;
$row = $root-&amp;gt;createElement(&amp;quot;tr&amp;quot;);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value1&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$cell = $root-&amp;gt;createElement(&amp;quot;td&amp;quot;, &amp;quot;value2&amp;quot;);&lt;br /&gt;
$row-&amp;gt;appendChild($cell);&lt;br /&gt;
$table-&amp;gt;appendChild($row);&lt;br /&gt;
$body-&amp;gt;appendChild($table);&lt;br /&gt;
$html-&amp;gt;appendChild($body);&lt;br /&gt;
$root-&amp;gt;appendChild($html);&lt;br /&gt;
echo $root-&amp;gt;saveHTML();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using XPath with DOM in a more complicated example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$dom = new DOMDocument;&lt;br /&gt;
$dom-&amp;gt;load(&amp;quot;address-book.xml&amp;quot;);&lt;br /&gt;
$xpath = new DOMXPath($dom);&lt;br /&gt;
$person = $xpath-&amp;gt;query(&amp;quot;/address-book/person&amp;quot;);&lt;br /&gt;
foreach ($person as $p) {&lt;br /&gt;
    $fn = $xpath-&amp;gt;query(&amp;quot;firstname&amp;quot;, $p);&lt;br /&gt;
    $firstname = $fn-&amp;gt;item(0)-&amp;gt;firstChild-&amp;gt;nodeValue;&lt;br /&gt;
    $ln = $xpath-&amp;gt;query(&amp;quot;lastname&amp;quot;, $p);&lt;br /&gt;
    $lastname = $ln-&amp;gt;item(0)-&amp;gt;firstChild-&amp;gt;nodeValue;&lt;br /&gt;
    print &amp;quot;$firstname $lastname\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;address-book&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;D&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;S&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;New York&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;NY&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;s@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;A&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;T&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;San Francisco&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;CA&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;a@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
&amp;lt;/address-book&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Validating an XML document==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$file = &amp;quot;address-book.xml&amp;quot;;&lt;br /&gt;
$schema = &amp;quot;address-book.xsd&amp;quot;;&lt;br /&gt;
$ab = new DOMDocument;&lt;br /&gt;
$ab-&amp;gt;load($file);&lt;br /&gt;
if ($ab-&amp;gt;schemaValidate($schema)) {&lt;br /&gt;
    print &amp;quot;$file is valid.\n&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
    print &amp;quot;$file is invalid.\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>