首页  >  文章  >  后端开发  >  PHP XML 阅读器

PHP XML 阅读器

王林
王林原创
2024-08-29 13:09:47404浏览

在 PHP 中,XML Reader 扩展提供了一种解析 XML 的技术,称为 XML Reader。这种拉式解析器或基于流的 XML 解析器允许创建可以读取和检索 XML 文档的特定部分的 XML 解析器。 XML Reader 支持各种操作,例如根据名称、命名空间或索引检索属性,使用属性名称、命名空间或索引解析元素,解析元素而不导航到内部级别,获取当前节点的值,设置其他属性到 XML 解析器,并验证 XML 文档。

广告 该类别中的热门课程 XML - 专业化 | 11门课程系列

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法:

声明 XML Reader 的语法如下:

XMLReader();

XML 阅读器的工作

XML Reader 的工作原理如下:

  • 使用 XML Reader,可以根据当前节点检索 XML 文档的特定部分。
  • XML 中的属性可以使用 XML Reader 通过指定名称、命名空间或索引来获取。
    同样,可以使用 XML Reader 通过指定属性的名称、命名空间或索引来解析 XML 中的元素。
  • 使用 XML Reader 的一个优点是无需导航到内部级别即可解析元素。
  • 您可以使用XML Reader获取当前节点的值,从而访问XML文档中的内容。
  • XML Reader 还允许为 XML 解析器设置其他属性,提供灵活性和自定义选项。
  • 最后,XML Reader 支持 XML 文档验证,允许您确保文档符合特定的架构或结构。

PHP XML 阅读器示例

以下是示例:

示例#1

使用 PHP 中的 XML Reader 解析 XML 文档并检索 XML 文档内容的 PHP 程序:

代码:

<?php
//creating an XML documents that is to be parsed using XML reader to retrieve the contents
$xmlDocument = '<?xml version="1.0"?>
<books>
<book ID="1">
<bookname>The Cobra</bookname>
<genre>Thriller</genre>
</book>
<book ID="2">
<bookname>The Killer</bookname>
<genre>Suspense</genre>
</book>
<book ID="3">
<bookname>The Popoye</bookname>
<genre>Comedy</genre>
</book>
</books>';
//declaring an instance of XML Reader
$xml = new XMLReader();
$xml->XML($xmlDocument);
//parsing the contents of the XML document and retrieving the required contents from the document
echo "The details of the books retrieved from the XML documents are:";
while( $xml->read() )
{
if($xml->name == "book")
{
print "Book ID:" . $xml->getAttribute("ID") . "<br/>";
print $xml->readInnerXML() . "<br/>";
$xml->next();
}
}
?>

输出:

PHP XML 阅读器

该程序的目标是使用 XML Reader 解析 XML 文档以提取和检索特定内容。初始步骤涉及创建 XML Reader 的实例,它将处理 XML 文档的读取和解析。随后,XML 文档被提供给 XML Reader 进行解析。然后,XML 阅读器遍历文档,提供对各种元素和属性的访问。

示例#2

使用 PHP 中的 XML Reader 解析 XML 文档并检索 XML 文档内容的 PHP 程序:

代码:

<?php
//creating an XML documents that is to be parsed using XML reader to retrieve the contents
$xmlDocument = '<?xml version="1.0"?>
<capital>
<country ID="1">
<countryname>India</countryname>
<capital>New Delhi</capital>
</country>
<country ID="2">
<countryname>Nepal</countryname>
<capital>Katmandu</capital>
</country>
<country ID="3">
<countryname>SriLanka</countryname>
<capital>Columbo</capital>
</country>
<country ID="4">
<countryname>Bangladesh</countryname>
<capital>Dhaka</capital>
</country>
<country ID="5">
<countryname>Pakisthan</countryname>
<capital>Islamabad</capital>
</country>
</capital>';
//declaring an instance of XML Reader
$xml = new XMLReader();
$xml->XML($xmlDocument);
//parsing the contents of the XML document and retrieving the required contents from the document
echo "The details of the capital cities retrieved from the XML document are:";
while( $xml->read() )
{
if($xml->name == "country")
{
print "Country code:" . $xml->getAttribute("ID") . "<br/>";
print $xml->readInnerXML() . "<br/>";
$xml->next();
}
}
?>

输出:

PHP XML 阅读器

示例 #3

使用 PHP 中的 XML Reader 解析 XML 文档并检索 XML 文档内容的 PHP 程序:

代码:

<?php
//creating an XML documents that is to be parsed using XML reader to retrieve the contents
$xmlDocument = '<?xml version="1.0"?>
<socialnetworking>
<website ID="1">
<websitename>Facebook</websitename>
<address>www.facebook.com</address>
</website>
<website ID="2">
<websitename>Instagram</websitename>
<address>www.instagram.com</address>
</website>
<website ID="3">
<websitename>Twitter</websitename>
<address>www.twitter.com</address>
</website>
<website ID="4">
<websitename>Youtube</websitename>
<address>www.youtube.com</address>
</website>
<website ID="5">
<websitename>Orkut</websitename>
<address>www.orkut.com</address>
</website>
</socialnetworking>';
//declaring an instance of XML Reader
$xml = new XMLReader();
$xml->XML($xmlDocument);
//parsing the contents of the XML document and retrieving the required contents from the document
echo "The details of the social networking sites retrieved from the XML document are:";
while( $xml->read() )
{
if($xml->name == "webiste")
{
print "Webiste address:" . $xml->getAttribute("address") . "<br/>";
print $xml->readInnerXML() . "<br/>";
$xml->next();
}
}
?>

输出:

PHP XML 阅读器

结论

在本文中,我们通过编程示例及其输出了解了 XML Reader 的概念,用于解析 XML 文档的内容并通过 PHP 中 XML Reader 的定义、语法和工作来检索它们。

以上是PHP XML 阅读器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:PHP XMLWriter下一篇:PHP XML Parser