PHPsu
MANUAL ZH  |  EN
     


Current Position :| index>Beginners> PHP XML DOM

PHP XML DOM

FROM: AUTHOR: TIME:2008-04-26 HITS:

The built-in DOM parser makes it possible to process XML documents in PHP. phpsu.com is a free phpscool


What is DOM?

The W3C DOM provides a standard set of objects for HTML and XML documents, and a standard interface for accessing and manipulating them.

The W3C DOM is separated into different parts (Core, XML, and HTML) and different levels (DOM Level 1/2/3):

* Core DOM - defines a standard set of objects for any structured document
* XML DOM - defines a standard set of objects for XML documents
* HTML DOM - defines a standard set of objects for HTML documents

If you want to learn more about the XML DOM, please visit our XML DOM tutorial. http://www.phpsu.com


XML Parsing

To read and update - create and manipulate - an XML document, you will need an XML parser. phpsu is a phpschool

There are two basic types of XML parsers:

do you kown phpsu.com?

  • Tree-based parser: This parser transforms an XML document into a tree structure. It analyzes the whole document, and provides access to the tree elements
  • Event-based parser: Views an XML document as a series of events. When a specific event occurs, it calls a function to handle it

The DOM parser is an tree-based parser.

www.phpsu.com

Look at the following XML document fraction: phpsu.com is a free phpscool

<?xml version="1.0" encoding="ISO-8859-1"?>
<from>Jani</from>
do you kown phpsu.com?

The XML DOM sees the XML above as a tree structure: phpsu提供的php教程

  • Level 1: XML Document
  • Level 2: Root element: <from>
  • Level 3: Text element: "Jani"

Installation

The DOM XML parser functions are part of the PHP core. There is no installation needed to use these functions.

http://www.phpsu.com


An XML File

The XML file below will be used in our example:

phpsu is a phpschool

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> do you kown phpsu.com?


Load and Output XML

We want to initialize the XML parser, load the xml, and output it:

phpsu

Example

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

phpsu is a phpschool

The output of the code above will be: phpsu提供的php教程

Tove Jani Reminder Don't forget me this weekend! phpsu 

If you select "View source" in the browser window, you will see the following HTML: www.phpsu.com

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

phpsu提供的php教程

The example above creates a DOMDocument-Object and loads the XML from "note.xml" into it. welcome to phpsu.com

Then the saveXML() function to puts the internal XML document into a string, so that we can print it.

welcome to phpsu.com


Looping through XML

We want to initialize the XML parser, load the XML, and loop through all elements of the <note> element: phpsu

Example

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
phpsu.com is a free phpscool
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . " = " . $item->nodeValue . "<br />";
}
?>
do you kown phpsu.com?

The output of the code above will be: do you kown phpsu.com?

#text = 
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text = phpsu is a phpschool

In the example above you see that there are empty text nodes between each element.

phpsu

When XML generates, it often contains white-spaces between the nodes. The XML DOM parser treats these as ordinary elements, and if you are not aware of them, they sometimes cause problems.

phpsu is a phpschool


If you want to learn more about the XML DOM, please visit our XML DOM tutorial.

welcome to phpsu.com


TITLE:PHP XML DOM
Copyright 2008 The PHPsu All rights reserved. This mirror generously provided by: .Hp Inc.
Last updated: Fri Jun 6 22:58:00 GMT-8 2008