成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

PHP 中的 SimpleXML 處理

瀏覽:6日期:2024-02-10 11:35:15

了解和 PHP 版本 5 捆綁到一起的 SimpleXML 擴(kuò)展,它使 PHP 頁面能夠以 PHP 友好的語法來查詢、搜索、修改和重新發(fā)布 XML。

PHP 版本 5 引入了 SimpleXML,一種用于讀寫 XML 的新的應(yīng)用程序編程接口(API)。在 SimpleXML 中,下面的這樣的表達(dá)式:

$doc->rss->channel->item->title

從文檔中選擇元素。只要熟悉文檔的結(jié)構(gòu),很容易編寫這種表達(dá)式。但是,如果不很清楚需要的元素出現(xiàn)在何處(比如 Docbook、HTML 和類似的敘述性文檔中),SimpleXML 可以使用 XPath 表達(dá)式尋找這些元素。

開始使用 SimpleXML

假設(shè)需要一個(gè) PHP 頁面將 RSS 提要(feed)轉(zhuǎn)化成 HTML。RSS 是一種簡單的 XML 格式用于發(fā)布連鎖內(nèi)容。文檔的根元素是 rss,它包括一個(gè) channel 元素。channel 元素包含關(guān)于提要的元數(shù)據(jù),如標(biāo)題、語言和 URL。它還包含各種封裝在 item 元素中的報(bào)道。每個(gè) item 都有一個(gè) link 元素,包括一個(gè) URL,還有 title 或 description(通常兩者都有),包含普通文本。不使用名稱空間。RSS 的內(nèi)容當(dāng)然不止這些,不過對本文來說知道這些就足夠了。清單 1 顯示了一個(gè)典型的例子,它包含兩個(gè)新聞項(xiàng)。

清單 1. RSS 提要

<?xml version='1.0' encoding='UTF-8'?><rss version='0.92'><channel> <title>Mokka mit Schlag</title> <link>http://www.elharo.com/blog</link> <language>en</language> <item> <title>Penn Station: Gone but not Forgotten</title> <description> The old Penn Station in New York was torn down before I was born. Looking at these pictures, that feels like a mistake.; The current site is functional, but no more; really just some office towers and underground corridors of no particular interest or beauty. The new Madison Square... </description> <link>http://www.elharo.com/blog/new-york/2006/07/31/penn-station</link> </item> <item> <title>Personal for Elliotte Harold</title> <description>Some people use very obnoxious spam filters that require you to type some random string in your subject such as E37T to get through. Needless to say neither I nor most other people bother to communicate with these paranoids. They are grossly overreacting to the spam problem. Personally I won't ...</description>

<link>http://www.elharo.com/blog/tech/2006/07/28/personal-for-elliotte-harold/</link> </item></channel></rss>

我們來開發(fā)一個(gè) PHP 頁面將 RSS 提要格式化為 HTML。清單 2 顯示了這個(gè)頁面的基本結(jié)構(gòu)。

清單 2. PHP 代碼的靜態(tài)結(jié)構(gòu)

<?php // Load and parse the XML document ?><html xml:lang='en' lang='en'><head> <title><?php // The title will be read from the RSS ?></title></head><body>

<h1><?php // The title will be read from the RSS again ?></h1>

<?php// Here we'll put a loop to include each item's title and description?>

</body></html>

解析 XML 文檔

第一步是解析 XML 文檔并保存到變量中。只需要一行代碼,向 simplexml_load_file() 函數(shù)傳遞一個(gè) URL 即可:

$rss = simplexml_load_file('http://partners.userland.com/nytRss/nytHomepage.xml');

對于這個(gè)例子,我已經(jīng)從 Userland 的 New York Times 提要(在 http://partners.userland.com/nytRss/nytHomepage.xml)填充了頁面。當(dāng)然,也可使用其他 RSS 提要的任何 URL。

要注意,雖然名稱為 simplexml_load_file(),該函數(shù)實(shí)際上解析遠(yuǎn)程 HTTP URL 上的 XML 文檔。但這并不是該函數(shù)唯一令人感到奇怪的地方。返回值(這里存儲在 $rss 變量中)并沒有指向整個(gè)文檔,如果使用過其他 API 如文檔對象模型(DOM)您可能會這樣期望。相反,它指向文檔的根元素。從 SimpleXML 不能訪問文檔序言和結(jié)語部分的內(nèi)容。

尋找提要標(biāo)題

整個(gè)提要的標(biāo)題(不是提要中各報(bào)道的標(biāo)題)位于 rss 根元素 channel 的 title 孩子中。很容易找到這個(gè)標(biāo)題,就仿佛 XML 文檔是類 rss 的一個(gè)對象的序列化形式,它的 channel 字段本身帶有一個(gè) title 字段。使用常規(guī) PHP 對象引用語法,尋找標(biāo)題的語句如下:

$title = $rss->channel->title;

找到之后可以將其添加到輸出 HTML 中。這樣做很簡單,只要回顯 $title 變量即可:

<title><?php echo $title; ?></title>

這一行輸出元素的字符串值而不是整個(gè)元素。就是說寫入文本內(nèi)容但不包括標(biāo)簽。

甚至可以完全跳過中間變量 $title:

<title><?php echo $rss->channel->title; ?></title>

因?yàn)樵擁撁嬖诙嗵幹赜眠@個(gè)值,我發(fā)現(xiàn)用一個(gè)含義明確的變量來存儲會更方便。

……

標(biāo)簽: PHP
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
精品99视频| 亚洲夜间福利| 雨宫琴音一区二区在线| 欧美日本视频在线| 亚洲成人动漫精品| 国产视频在线观看一区| 欧美激情中文字幕| 毛片基地黄久久久久久天堂| 国产精品视频福利| 亚洲欧美日韩在线不卡| 9久草视频在线视频精品| 欧美人牲a欧美精品| 奇米精品一区二区三区在线观看 | 中文字幕免费观看一区| 99久久综合国产精品| 91精品免费在线观看| 精品一区二区三区欧美| 欧美专区日韩专区| 免费久久99精品国产| 在线免费视频一区二区| 午夜激情久久久| 免费精品视频| 成人免费在线播放视频| 欧美日韩国产亚洲一区| 国产精品无码永久免费888| 成人av网站免费| 精品少妇一区二区三区免费观看 | 亚洲欧美日韩久久精品| 亚洲精品少妇| 玉足女爽爽91| 噜噜噜在线观看免费视频日韩| 日本欧美肥老太交大片| 欧美绝品在线观看成人午夜影视| 风流少妇一区二区| 26uuu欧美| 欧美私人啪啪vps| 成人欧美一区二区三区白人 | 日韩丝袜美女视频| 91一区二区在线| 中文字幕乱码久久午夜不卡 | 亚洲成人av一区| 一本久久精品一区二区 | 极品中文字幕一区| 亚洲美女区一区| 国产伦一区二区三区色一情| 天堂成人免费av电影一区| 日本韩国一区二区三区| 国产一区二区三区在线看麻豆| 678五月天丁香亚洲综合网| 成人高清视频免费观看| 亚洲国产精品二十页| 日韩午夜精品| 免费成人你懂的| 欧美大片一区二区三区| 欧美日韩系列| 亚洲一区二区三区不卡国产欧美| 老牛国产精品一区的观看方式| 国模一区二区三区白浆| 久久久久久久综合色一本| 91久久综合| 奇米精品一区二区三区四区 | 精品国产麻豆免费人成网站| 狠狠噜噜久久| 午夜视频在线观看一区二区 | 色88888久久久久久影院按摩| 国产精品一区二区久久不卡 | 伊人一区二区三区| 欧美体内she精视频| www.日韩av| 亚洲男人的天堂网| 欧美日韩中文字幕一区| 99免费精品视频| 亚洲一区二区不卡免费| 欧美美女一区二区在线观看| 92国产精品观看| 亚洲精品国产a| 欧美日韩综合在线| 欧美日韩一区二区三区在线视频 | av不卡在线| 久久av中文字幕片| 久久久午夜精品理论片中文字幕| 一区二区久久| 国产精品一线二线三线| 国产精品国模大尺度视频| 久久婷婷影院| 99re热这里只有精品视频| 亚洲综合色成人| 日韩免费看网站| 99成人在线| 国产寡妇亲子伦一区二区| 亚洲欧美在线另类| 欧美日韩日本视频| 国内激情久久| 国产又黄又大久久| 亚洲男人天堂av| 日韩一区国产二区欧美三区| 伊人激情综合| 精品亚洲porn| 中文字幕在线不卡| 欧美久久久久久久久| 18成人免费观看视频| 精品一区二区日韩| 国产精品三级电影| 欧美三级在线视频| 伊人婷婷久久| 国产高清亚洲一区| 亚洲一区二区四区蜜桃| 欧美精品一区二区高清在线观看| 亚洲欧美久久| 欧美成人亚洲| 国产一区欧美一区| 一区二区三区中文字幕精品精品 | 亚洲免费观看高清| 日韩午夜在线观看| 免费久久久一本精品久久区 | 欧美大片专区| 久久机这里只有精品| 一区二区三区四区在线免费观看 | 久久精品国产秦先生| 国产精品久久久久天堂| 欧美视频一区二区三区四区| 亚洲黄色一区| 成人a级免费电影| 日韩二区在线观看| 中文字幕日韩精品一区| 日韩一区二区影院| 一区二区三区视频在线播放| 成人丝袜视频网| 美女性感视频久久| 自拍偷在线精品自拍偷无码专区| 91精品午夜视频| 久久最新视频| 亚洲伦伦在线| 91伊人久久大香线蕉| 国内精品视频一区二区三区八戒| 亚洲大型综合色站| 中文字幕亚洲不卡| 国产亚洲精品aa午夜观看| 欧美无乱码久久久免费午夜一区| 18成人免费观看视频| 91啪九色porn原创视频在线观看| 蜜桃视频免费观看一区| 一区二区三区中文在线| 国产精品三级久久久久三级| 久久中文字幕电影| 欧美一区永久视频免费观看| 欧美在线观看一二区| 裸体一区二区| 99精品国产一区二区青青牛奶| 91在线码无精品| 国产精品羞羞答答xxdd| 青青青爽久久午夜综合久久午夜| 一区二区欧美国产| 亚洲欧洲性图库| 久久久久久久综合| 欧美一区二区三区四区久久| 一本到三区不卡视频| 国产一区二区高清视频| 亚洲精品国产系列| 亚洲国产日本| 精品成人在线| 欧美午夜国产| 欧美人与禽性xxxxx杂性| 91美女福利视频| 成熟亚洲日本毛茸茸凸凹| 国内精品视频666| 激情图区综合网| 日本美女视频一区二区| 亚洲激情六月丁香| 中文字幕制服丝袜一区二区三区| 日本一区二区成人在线| 久久精品无码一区二区三区| 久久女同精品一区二区| 久久久噜噜噜久久中文字幕色伊伊 | av不卡一区二区三区| 高清在线观看日韩| 国产成人免费在线视频| 91麻豆精品国产91久久久久久久久| 欧美日韩一区不卡| 欧美日韩午夜精品| 欧美色图在线观看| 欧美性色aⅴ视频一区日韩精品| 欧洲一区二区av| 老司机免费视频久久| 久久午夜电影| 欧洲国内综合视频| 精品视频一区三区九区| 4hu四虎永久在线影院成人| 日韩视频一区二区三区在线播放| 91精品婷婷国产综合久久性色 | 欧美精品一区二区久久婷婷| 亚洲一区二区三区在线观看视频 | 久久精品网站免费观看| 久久久久久久久久美女| 2020国产精品自拍| 精品成人免费观看| 欧美经典一区二区| 亚洲欧洲综合另类| 水野朝阳av一区二区三区| 久久精品国产99国产精品|