1. Trang chủ
  2. » Thể loại khác

php sax parser example

4 141 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 303,46 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ví dụ SAX Parser trong PHP SAX Parser được sử dụng để phân tích cú pháp XML file và tốt hơn để quản lý bộ nhớ so với Simple XML Parser và DOM.. Nó không giữ bất kỳ Data trong bộ nhớ, vì

Trang 1

Ví dụ SAX Parser trong PHP SAX Parser được sử dụng để phân tích cú pháp XML file và tốt hơn để quản lý bộ nhớ so với Simple XML Parser và DOM Nó không giữ bất kỳ Data trong bộ nhớ, vì thế nó có thể được sử dụng với số lượng file lớn Ví dụ sau minh họa cách lấy data từ XML bởi sử dụng SAX API

SAX.xml

XML nên là như sau:

<?xml version="1.0" encoding="utf-8"?>

<tutors>

<course>

<name>Android</name>

<country>India</country>

<email>contact@tutorialspoint.com</email>

<phone>123456789</phone>

</course>

<course>

<name>Java</name>

<country>India</country>

<email>contact@tutorialspoint.com</email>

<phone>123456789</phone>

</course>

<course>

<name>HTML</name>

<country>India</country>

<email>contact@tutorialspoint.com</email>

<phone>123456789</phone>

</course>

</tutors>

Trang 2

SAX.php

Php file nên là như sau:

<?php

//Reading XML using the SAX(Simple API for XML) parser

$tutors = array();

$elements = null;

// Called to this function when tags are opened

function startElements($parser, $name, $attrs)

{

global $tutors, $elements;

if(!empty($name))

{

if $name == 'COURSE') {

// creating an array to store information

$tutors []= array();

}

$elements = $name;

}

}

// Called to this function when tags are closed

function endElements($parser, $name)

{

global $elements;

if(!empty($name))

{

$elements = null;

}

Trang 3

}

// Called on the text between the start and end of the tags

function characterData($parser, $data)

{

global $tutors, $elements;

if(!empty($data))

{

if $elements == 'NAME' || $elements == 'COUNTRY' || $elements == 'EMAIL' ||

$elements == 'PHONE')

{

$tutors[count($tutors)-1][$elements] = trim($data);

}

}

}

// Creates a new XML parser and returns a resource handle referencing it to be used by the other XML functions

$parser = xml_parser_create();

xml_set_element_handler($parser, "startElements", "endElements");

xml_set_character_data_handler($parser, "characterData");

// open xml file

if (!($handle = fopen('sax.xml', "r")))

die("could not open XML input");

}

while($data = fread($handle, 4096)) // read xml file

{

xml_parse($parser, $data); // start parsing an xml document

}

xml_parser_free($parser); // deletes the parser

Trang 4

$i= ;

foreach($tutors as $course)

{

echo "course No - ".$i.'<br/>';

echo "course Name - ".$course['NAME'].'<br/>';

echo "Country - ".$course['COUNTRY'].'<br/>';

echo "Email - ".$course['EMAIL'].'<br/>';

echo "Phone - ".$course['PHONE'].'<hr/>';

$i++;

}

?>

Nó sẽ cho kết quả:

course No - 1

course Name - Android

Country - India

Email - contact@tutorialspoint.com

Phone - 123456789

Ngày đăng: 02/12/2017, 20:32

TỪ KHÓA LIÊN QUAN