<? xml = รุ่นการเข้ารหัส"1.0"="UTF - 8"?>
version="2.0"> <rss
<channel>
<link>
/windows/Web_Development
/ XML_CSS_Utilities/LatestReleases-1.html
</ link>
<language> EN - US <ภาษา />
<image>
<url> /images/logo.gif </ url>
/ <link> </ link>
<description>
<คำอธิบาย />
<ภาพ />
<item>
ผสมฟีด <title> </ title>
<link>
/windows/Web_Development/
XML_CSS_Utilities / รีวิว Feed_Mix.html -
</ link>
<description>
ผสมฟีดเป็นคุณลักษณะที่อุดมด้วยกับการแก้ไขใหม่ที่ไม่ซ้ำกัน
ความสามารถในการสร้างฟีดใหม่จากคนอื่น ๆ หลาย
ที่มีอยู่แล้ว ...
<คำอธิบาย />
<รายการ />
<item>
<title> RSS ส่ง </ title>
<link>
/windows/Web_Development/
XML_CSS_Utilities / รีวิว RSS_Submit.html -
</ link>
<description>
RSS ส่งเป็นฟีด RSS มีประสิทธิภาพมากที่สุด
เครื่องมือส่งเสริมการขายใช้ได้ ...
<คำอธิบาย />
<รายการ />
<ช่องทาง />
</ RSS>
XML ย่อมาจาก Extensible Markup ภาษาและมันเป็นส่วนย่อยที่เรียบง่ายของมาตรฐานทั่วไป Markup Language (SGML) วัตถุประสงค์หลักของมันคือการอำนวยความสะดวกในการแบ่งปันข้อมูลผ่านระบบข้อมูลที่แตกต่างกันโดยเฉพาะอย่างยิ่งระบบเชื่อมต่อผ่านทางอินเทอร์เน็ต
RSS คือเว็บเนื้อหารูปแบบการเผยแพร่ ชื่อของมันเป็นตัวย่อสำหรับสร้างง่ายจริงๆ ในคำอื่น ๆ RSS เป็นรูปแบบ XML ที่มีน้ำหนักเบาออกแบบมาสำหรับใช้งานร่วมกันพาดหัวข่าวและเนื้อหาของเว็บอื่น ๆ รายละเอียดเพิ่มเติมเกี่ยวกับข้อกำหนด RSS 2.0 สามารถพบได้ที่ http://blogs.law.harvard.edu/tech/rss .
มากมักจะคนที่ต้องการอ่านไฟล์ RSS และแสดงเนื้อหาบนเว็บไซต์ของตนโดยใช้เค้าโครงที่กำหนดเอง
บทความนี้เป็นคู่มือที่สมบูรณ์ในการกระบวนการทั้งหมดของการแยกไฟล์ RSS 2.0 ใช้ PHP
ต้องการ :
เพื่อให้สามารถทดสอบโค้ดในการกวดวิชาที่เราจำเป็นต้องมีการติดตั้งเว็บเซิร์ฟเวอร์นี้ (ผมใช้ Apache : http://httpd.apache.org ) การกำหนดค่าด้วยการสนับสนุน PHP ( http://www.php สุทธิ )
คุณจะพบจำนวนของบทความและบทเรียนบนเว็บที่เกี่ยวกับวิธีการติดตั้ง Apache และ PHP
วิธีการที่มีการแยกไฟล์ XML
(ง่าย API สำหรับ XML) SAX และ DOM (รูปแบบวัตถุเอกสาร) : ปัจจุบันมีสองวิธีที่ใช้โดยนักพัฒนาในการอ่านไฟล์ XML ไม่ว่าสิ่งที่ภาษาการเขียนโปรแกรมอาจจะมี
ฉันช้าจะอธิบายแต่ละวิธีการเหล่านี้และในที่สุดก็เลือกที่ดีที่สุดสำหรับเรา
แซ็กโซโฟน (ง่าย API สำหรับ XML) เป็นเหตุการณ์ตาม API แท็กทุกครั้งที่มีการเปิดหรือปิดหรือเวลา parser พบบางข้อความใด ๆ ก็จะทำให้การเรียกกลับไปยังฟังก์ชันที่ผู้ใช้กำหนดสำหรับแต่ละเหตุการณ์ที่มีข้อมูลโหนดหรือข้อความที่ ประโยชน์ของ parser แซ็กโซโฟนเป็นที่ก็มีน้ำหนักเบาจริงๆ parser ที่ไม่ได้ให้อะไรในหน่วยความจำนานมากดังนั้นจึงสามารถที่จะใช้สำหรับไฟล์ขนาดใหญ่มาก ข้อเสียคือฟังก์ชั่นการเขียน parser แซ็กโซโฟนเหตุการณ์สามารถใช้เวลาและประสบการณ์การเขียนโปรแกรม
DOM (รูปแบบวัตถุเอกสาร) กำหนดวิธีการมาตรฐานสำหรับการเข้าถึงและจัดการเอกสาร XML DOM จะแสดงเอกสาร XML เป็นต้นไม้โครงสร้าง (ต้นไม้โหนด) กับองค์ประกอบ, คุณลักษณะและข้อความที่กำหนดเป็นโหนด การดำเนินการ DOM API มาตรฐานจะอ่านเอกสาร XML ทั้งหมดลงในหน่วยความจำและให้ชุดของฟังก์ชั่นสำหรับการจัดการข้อมูล ข้อเสียเปรียบของวิธีที่มีประสิทธิภาพนี้คือการที่ไม่แนะนำสำหรับเอกสาร XML ขนาดใหญ่ซึ่งจะใช้เวลาของหน่วยความจำมากเกินไปที่จะสร้างรูปแบบของเอกสาร
เพราะคนมักจะมีการจัดการกับไฟล์ขนาดปกติและไม่ทุกคนมีเวลาที่จำเป็นหรือทักษะในการเขียน parser แซ็กโซโฟนทั้งหมดที่เราจะใช้วิธีการ DOM
ดังนั้นขอเริ่มต้น
เพื่อให้ได้รับข้อมูลที่เป็นประโยชน์จากไฟล์ RSS ที่เราจำเป็นต้องห่วงผ่านโหนดรายการและสารสกัดจากข้อมูลที่เราต้องการ ด้านล่างคุณสามารถหาสคริปต์สำหรับการแยกดังกล่าวข้างต้น RSS ฟีด :
<? PHP
$ doc = DOMDocument ใหม่ ();
$ doc -> load ('/rss/windows/Web_Development/XML_CSS_Utilities.xml');
$ arrFeeds = array ();
foreach ($ doc -> getElementsByTagName โหนด ('รายการ') เป็น $) {
$ array itemRSS = (
'title'=> $ โหนด -> getElementsByTagName ('title') -- รายการ> (0) --> nodeValue,
'desc'=> $ โหนด -> getElementsByTagName ('คำอธิบาย') -- รายการ> (0) --> nodeValue,
'ลิงค์'=> $ โหนด -> getElementsByTagName ('ลิงค์') -- รายการ> (0) --> nodeValue,
วันที่'=> $ โหนด -> getElementsByTagName ('pubDate') -- รายการ> (0) --> nodeValue
);
array_push ($ arrFeeds, $ itemRSS);
}
?>
สคริปต์เริ่มต้นด้วยการสร้างวัตถุ DOMDocument ใหม่และโหลดไฟล์ RSS ลงในวัตถุที่ใช้วิธีการโหลด หลังจากที่สคริปต์ใช้วิธีการ getElementsByName ที่จะได้รับรายชื่อทั้งหมดขององค์ประกอบที่มีชื่อที่กำหนด (ใน'รายการ'กรณีของเรา)
ภายในห่วงของโหนดรายการสคริปต์ที่ใช้วิธีการ getElementsByName ที่จะได้รับ nodeValue สำหรับแท็กชื่อคำอธิบายเชื่อมโยงและวันที่ nodeValue เป็นข้อความที่อยู่ในโหนด อาร์เรย์จะใช้เพื่อเก็บชุดของค่าในแต่ละแถวและแต่ละรายการในอาร์เรย์ขนาดใหญ่ที่เก็บข้อมูลของเรามีโครงสร้าง RSS
ที่คุณสามารถดูงานได้ง่ายพอ ข้อมูลทั้งหมดในขณะนี้ถือโดย $ array arrFeeds นั้นมันเป็นโครงสร้างที่ดีและคุณสามารถแสดงได้โดยใช้เค้าโครงตามที่ต้องการ