ホームページ > バックエンド開発 > PHPチュートリアル > PHP 5.0を使ってXML文書を簡単に解析する(2)_PHPチュートリアル

PHP 5.0を使ってXML文書を簡単に解析する(2)_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:59:47
オリジナル
836 人が閲覧しました

文例:SimpleDocumentParser.php
<?php
/**
*=============================================== =========
*
* @author haha​​wen(老若)
* @since 2004-12-04
* @copyright Copyright (c) 2004, NxCoder Group
*
*===== ================================================= ==
*/
/**
* class SimpleDocumentParser
* SAX 解析 XML ファイルを使用し、SimpleDocumentObject をビルドします
* このパッケージはすべて XML ファイルに対して機能し、メソッドは DOM としてのアクションです。
*
* @package SmartWeb.common.xml
* @version 1.0
*/
class SimpleDocumentParser
{
private $domRootObject = null;
private $currentNO = null;
private $currentName = null;
private $currentValue = null;
private $currentAttribute = null;
public function getSimpleDocument()
{
return $this->domRootObject;
}
public function parse($file)
{
$xmlParser = xml_parser_create ();
xml_parser_set_option($xmlParser,XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($xmlParser,XML_OPTION_SKIP_WHITE, 1);
xml_parser_set_option($xmlParser, XML_OPTION_TARGET_ENCODING, );
xml_set_object($xmlParser, $this);
xml_set_element_handler($xmlParser, "startElement", "endElement");
xml_set_character_data_handler($xmlParser, "characterData");
if (!xml_parse($xmlParser, file_get_contents($file)))
die(sprintf("XML エラー: %s at line %d", xml_error_string(xml_get_error_code($xmlParser)),
xml_get_current_line_number($xmlParser)));
xml_parser_free($xmlParser);
}
プライベート関数 startElement($parser, $name, $attrs)
{
$this->currentName = $name;
$this->currentAttribute = $attrs;
if($this->currentNO == null)
{
$this->domRootObject = new SimpleDocumentRoot($name);
$this->currentNO = $this->domRootObject;

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631875.html技術記事文例:SimpleDocumentParser.php <?php /** *===================================== =================== * * @author haha​​wen(大龄青年) * @since 2004-12-04 * @copyright Copyright (...
)
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート