首頁  >  文章  >  後端開發  >  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 XMLWriter