PHP 5 SimpleXML 函数


PHP 5 SimpleXML 函数

在PHP 5中,SimpleXML 是用于将 XML 文档解析为对象的简单工具。它允许您以编程方式读取和操作 XML 数据,而无需了解 XML 的复杂性。它是一种快速和简单的解决方案。

简单介绍

SimpleXML 是一个PHP模块,允许您以像对象一样的方式处理XML文档。它可用于处理XML响应,XML配置文件和从其他系统或服务中获取XML数据。

它可以在大多数PHP编译文件中找到,因此您无需执行任何操作即可开始使用它。

如何解析XML文件

在使用SimpleXML之前,您需要创建一个XML文档或从其他地方获取一个XML源。如果您需要创建XML文档,您可以使用DomDocument类。默认情况下,SimpleXML可以加载URL或文件中的数据,也可以将XML String作为参数传递。

<?php
$xml = simplexml_load_file('books.xml');
print_r($xml);
?>

在这个例子中,simplexml_load_file 函数被调用来加载XML文件,然后它将XML转换成一个对象。通过print_r函数,您可以打印该对象,以查看其结构和内容。

如何从XML文件中读取值

读取SimpleXML对象中的值非常简单。您只需要使用对象属性或方法。例如,假设您有一个包含以下XML的文件。

<?xml version="1.0"?>
<library>
   <book id="001">
      <title>PHP 5 SimpleXML Functions</title>
      <category>Programming</category>
      <price>15.95</price>
   </book>
   <book id="002">
      <title>Java Programming</title>
      <category>Programming</category>
      <price>19.95</price>
   </book>
   <book id="003">
      <title>Designing with XHTML</title>
      <category>Web Design</category>
      <price>25.95</price>
   </book>
</library>

您可以使用以下代码从中读取数据。

<?php
$xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
echo "<table border='1'>";
echo "<tr><th>Title</th><th>Category</th><th>Price</th></tr>";
foreach($xml->children() as $book) {
   echo "<tr><td>".$book->title . "</td><td>" . $book->category . "</td><td>" . $book->price . "</td></tr>";
}
echo "</table>";
?>

在这个例子中,您可以看到SimpleXML对象的属性和方法如何与foreach循环结合使用来读取数据的值。

如何写入XML文件

如果您需要使用SimpleXML创建一个新的XML文档或将新数据添加到现有文档中,您需要创建一个新的XML或编辑现有XML。要编辑现有XML,您需要使用simplexml_load_file将其加载到对象中,将更改保存在对象中,然后使用asXML方法将其写回到文件。

<?php
$xml = simplexml_load_file("books.xml") or die("Error: Cannot create object");
// add new book
$newbook = $xml->addChild("book");
$newbook->addChild("title", "JavaScript");
$newbook->addChild("category", "Programming");
$newbook->addChild("price", '29.95');

// save as new file
$xml->asXML("newbooks.xml");
?>

这个例子中,我们首先将XML加载到SimpleXML对象中,然后添加一个新书GetObject。我们设置新书的标题,类别和价格。最后,我们使用asXML方法将修改后的XML写回到文件,并将其命名为“newbooks.xml”。

总结

SimpleXML是一个快速和简单的方法,用于将XML文档解析为对象,并允许您以编程方式读取和操作XML文件。通过在您的PHP应用程序中使用SimpleXML,您可以轻松地处理XML响应,XML配置文件和从其他系统或服务获取XML数据。