【php中单引号和双引号的区别】php中DOMDocument与SimpleXML创建与解析xml程序

更新时间:2017-10-29    来源:Access    手机版     字体:

【www.bbyears.com--Access】

例子:

DOM XML 解析器函数是 PHP 核心的组成部分。无需安装就可以使用这些函数。
XML 文件
将在我们的例子中使用下面的 XML 文件:

 代码如下

George
John
Reminder
Don"t forget the meeting!

加载和输出 XML
我们需要初始化 XML 解析器,加载 XML,并把它输出:

例子

 代码如下

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

print $xmlDoc->saveXML();
?>

以上代码的输出:

George John Reminder Don"t forget the meeting!假如您在浏览器窗口中查看源代码,会看到下面这些 HTML:

 代码如下

George
John
Reminder
Don"t forget the meeting!

面的例子创建了一个 DOMDocument-Object,并把 "note.xml" 中的 XML 载入这个文档对象中。

saveXML() 函数把内部 XML 文档放入一个字符串,这样我们就可以输出它。

例子

 代码如下

//创建一个新文档
$dom = new DOMDocument("1.0");
 
//创建根元素book,并将其添加到文档中
$book = $dom->appendChild($dom->createElement("book"));
 
//创建一个title元素,并将其添加到$book中
$title = $book->appendChild($dom->createElement("title"));
$title->appendChild($dom->createTextNode("Php Book"));
//为title元素的添加属性cover,属性值soft
$title->setAttribute("cover","soft");
 
//创建author元素,并将其添加到$book中
$kaifabu = $book->appendChild($dom->createElement("author"));
//为author元素添加文本
$kaifabu->appendChild($dom->createTextNode("kaifabu"));
 
//创建author元素,并将其添加到$book中
$kaifabu = $book->appendChild($dom->createElement("author"));
//为author元素添加文本
$kaifabu->appendChild($dom->createTextNode("Younker"));
 
//将格式化的DOM文档输出为XML
$dom->formatOutput = true;
 
//生成books.xml文件
$dom->save("books.xml");
//此步把生成的XML以字符串形式显示
echo htmlentities($dom->saveXML());
?>

输出结果如下:

 代码如下




  Php Book
  kaifabu
  Younker


注:如果上面生成XML这步改成$dom->save(‘books.xml’);直接生成一个books.xml文件

下面我们利用simplexml来解析xml文件

SimpleXML 函数允许您把 XML 转换为对象。

通过普通的属性选择器或数组迭代器,可以处理这个对象,就像处理任何其他对象一样。

其中的一些函数需要最新的 PHP 版本。
安装
SimpleXML 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。

 代码如下
//使用SimpleXML扩展解析XML文档,解析出来是一个对象,可以通过对象获取它的元素内容
$sx = simplexml_load_file("books.xml");
//获取title标签的内容
$title = $sx->title;
//因为有两个author元素,通过循环获取每个author元素内容
$authors = "";
foreach($sx->author as $author)
{
 $authors .= "&" . $author;
}
$authors = substr($authors, 1);
echo $title . ":" . $authors;
?>

输出结果如下:
Php Book:kaifabu&Younker

PHP:指示支持该函数的最早的 PHP 版本。

SimpleXML函数

__construct() 创建一个新的 SimpleXMLElement 对象。 5
addAttribute() 给 SimpleXML 元素添加一个属性。 5
addChild() 给 SimpleXML 元素添加一个子元素。 5
asXML() 从 SimpleXML 元素获取 XML 字符串。 5
attributes() 获取 SimpleXML 元素的属性。 5
children() 获取指定节点的子。 5
getDocNamespaces() 获取 XML 文档的命名空间。 5
getName() 获取 SimpleXML 元素的名称。 5
getNamespaces() 从 XML 数据获取命名空间。 5
registerXPathNamespace() 为下一次 XPath 查询创建命名空间语境。 5
simplexml_import_dom() 从 DOM 节点获取 SimpleXMLElement 对象。 5
simplexml_load_file() 从 XML 文档获取 SimpleXMLElement 对象。 5
simplexml_load_string() 从 XML 字符串获取 SimpleXMLElement 对象。 5
xpath() 对 XML 数据运行 XPath 查询。 5

本文来源:http://www.bbyears.com/shujuku/36658.html

热门标签

更多>>

本类排行