PHP 开发人员:充实您的 XML 工具箱
xml
PHP 对 XML 的支持随着 PHP 的流行不断在增强。可以从本文中找出近一打 PHP 开发人员可用的 XML 工具。 工具顾问 Craig Knudsen 还描述了一个从 PHP 内部访问更多 Java 工具的方法。
PHP 对 XML 的支持始于版本 3.06,当时 James Clark 流行的基 于 C 的 expat 语法分析器首次作为 PHP 3 模块集成到了该版本。自那时起,不断地开发了许多用于 XML 的 PHP 模块和类;有关我在最近一次对目前供应工具调查中发现的一些工具的概述,请参阅表格:PHP 开发人员的 XML 工具。
SAX 还是 DOM 语法分析?
PHP 4 的缺省配置包含 expat XML 语法分析器,这是一个 SAX(XML 的简单 API,Simple API for XML)语法分析器。PHP 4 中可使用 DOM(文档对象模型,Document Object Model)API,除非把 PHP 4 程序包配置成可使 用 DOM API(使用 --with-dom 配置选项)或 使用 Windows 的二进制发行版来启动 PHP 4 程序包,否则将不构建它。为了能使用 PHP 的 DOM 模块,需安 装 GNOME XML 库,而且需要使用 PHP 4.0.4 或更新版本。
DOM 和 SAX 使用不同的模式对 XML 进行语法分析。当 SAX 语法分析器遇到一个您 感兴趣的标记时,它将调用一个已指定的回调。而 DOM 却将整个文档装入一个您可以检查和操纵的树结构中。自 版本 4.0.4 起,PHP 的 DOM 模块还支持 XPath。
不是每个人都可以控制服务器环境的,所以重新构建 PHP 可能不可行。值得庆幸的是,还有另一种在 PHP 中使用 DOM 的方法。
为 XML 配置 PHP
Windows 用户将发现下载 PHP 的二进制发行版非常容易。二进制发行版的好处在于已经有人为您做了一部分的工作;您不必另外下载任何代码进行编译,并且它已经内置了许多扩展(包括 DOM 扩展)。
如果使用的不是 Windows,则可能需要从源代码构建 PHP。缺省时, PHP 最新发行版将自动包含基于 expat (SAX) 的 XML 支持。如果要在程序包中包含 DOM 支持,则必须将 PHP 程序包配置成能处理 DOM。有关如何从源代码构 建 PHP 的详细信息,请查看参考资料。同时,请牢记 在运行 PHP 的 configure 脚本时需要将 --with-dom 作为一个选项添加进去。
PHP 中的 DOM 支持仍然处于实验阶段(自版本 4.0.5 起),这意味 该 API 会在今后的版本中作更改。
使用 XSLT
PHP 4 还添加了 XSLT 功能。(XSLT 允许您将 XML 文档变换为其它格式,如 PDF 或 HTML 格式的文档,并且还允许您做更多程序上的更改。)PHP 4 中的 XSLT 模块可同时使用 expat 和 Sabloton。 在构建 PHP 之前,必须先下载并安装 Sabloton(见参考资料), 并且必须在 PHP 程序包配置期间使用 --with-sablot 选项。
Web 服务
如果您对使用 PHP 开发 Web 服务感兴趣,可以根据自己的需要 使用 SOAP 或 XML-RPC。SOAPx4 软件包同时提供了用 PHP 编写的客户机和服务器。对于 XML-RPC,可以从多种 XML-RPC 实现中选择一个, 包括 Useful Information 公司开发的很好的一个。
SOAP 和 XML-RPC 实现全部都是用 PHP 编写的。 如果您的服务器为 PHP 启用了 XML 支持(缺省情况),则不需要对服务器 作任何修改。
PHP 之外的选择
如果一直无法为要使用的工具找到 PHP 接口,还有另外一个选择:Java。虽然 PHP 的 XML 工具列表在不断扩大,但 JAVA 中仍然有更多可用的 XML 工具。PHP 4 包含了对访问 Java 对象的支持,这使 PHP 开发人员 可以使用各种 Java XML 工具。
虽然 PHP 的 Java 支持并非是全新的,但要找出如何安装与 使用 Java 模块的指示信息仍要费一番工夫。PHP 手册中没有这些指示信息。但是,您可以 查看 PHP 发行版 ext/java 目录下的“自述文件”了解介绍安装和使用的文档。切记,安装过程 对每个 Java 实现而言都存在少许差异。
PHP 开发人员的 XML 工具
语法分析器:
PHP XML 基于 SAX 的语法分析器,它根据 Jim Clark 的 expat 构建在 PHP 内。
PHP DOM 构建在 PHP 中的 DOM 支持,它需要 Sabloton。
phpDOM phpDOM 为 PHP DOM 模块提供了一个 PHP4 类封装器。
PRAX PRAX 是 RAX 的一种 PHP 实现,SAX 的替代。
协议:
SOAPx4 Dietrich Ayala 开发的 SOAP 客户机和服务器实现
PHP 的 SOAP 客 户机和服务器 Giga Ideas 开发的 SOAP 客户机和服务器实现
PHP 的 XML-PRC 客 户机和服务器/td> Useful Information 公司开发的 XML-RPC 客户机和服务器实现
eZ xmlrpc/td> XML-RPC 的客户机和服务器实现
Hail Stone XML-RPC 服务器
XMLRPC-EPI 这是一个用起来简单快捷的基于 C 的 PHP 模块,实现了客户机和服务器 XML-RPC。
参考资料
您对 PHP 工具有什么意见吗?请通过单击文章顶部或底部的讨论,可参加与本文相关的论坛。
可以从 PHP 下载页面下载 PHP 的源代码 或 Windows 的二进制发行版。
文档对象模型 (DOM) 提供了一个标准对象集,用于表示 HTML 和 XML 文档,并提供了一个标准的接口,用于访问和操纵这些文档。
XML 路径语言 (XPath) 是 一种 XSLT 和 XPointer 都能使用的,用于定位 XML 文档中某些部分的的语言。
XML 的简单 API (SAX) 是对基于事件的 XML 进行语法分析的一个标准接口。
XML 面向记录 的 API (RAX) 是两个主流 API(SAX 和 DOM)的替代项。
工业强度 亦或泡沫?对 SOAP、RPC 和 RMI 进行了剖析。
XML-RPC 允许在各不相同的操作系统中、在不同环境下运行的软件在整个 Internet 上进行过程调用。
使用 PHP 脚本 语言快速编写 Web 数据库脚本包含了从源代码构建 PHP 的逐步 指示信息,并介绍了构建数据库驱动的 PHP 应用程序。
为了在从源代码构建 PHP 时启用 DOM 支持,需安装 Gnome 的 XML C 库。
为了使用 PHP 的 XSLT 模 块,在构建 PHP 之前必须安装 Sabloton。
PHP 手册包含了有关使用基 于 expat 的 XML 功能、DOM XML 功能和 XSLT 功 能的文档。
PHPBuilder 的 PHP & Java 介绍了如何安装和使用 PHP Java 模块。
PHP-XML 邮件列表由 O'Reilly Network 掌管。
请在“DB2 开发者园地”里 Dan Scott 所著的文章中查找 如何 编 译 PHP 使其成为带 DB2 支持的动态装入的 Apache 模块。
可以仔细查看以下联机教程以了解使用 PHP 和 XML 的代码示例。
PHPBuilder 有一些有关对 XML 进行语法分析的佳作,包括使 用 expat 功能和 DOM XML:expat 的替代项。
phpWizard.net 中有一篇标题为 使 用 PHP 对 XML 进行语法分析的好文章。
PHP Everywhere 有关于使 用 XML-RPC 的教程。
可从 Linux.com 上获取 有关使用 XML-RPC 的简单示例。
Solutions 2001 开发人员大会将于 8 月 13 日至 18 日在旧金山召开; 请在 AgendaBuilder 中搜索或浏览 230 多个会议的描述。有两打以上的会议聚集中于 XML 及其相关技术,包括:
实践: 将 XML 与 DB2 集成
实践: Voice XML 工具/构建绝佳应用程序
XSL 示例: XML 变换简介
使 用 Java 技术对 XML 文档进行语法分析和编程。
请参加内含 17 个有关开发习惯问题的调查,以便帮助 IBM 改进用于开发软件应用程序的 XML 工具和服务。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.

캡슐은 3 차원 기하학적 그림이며, 양쪽 끝에 실린더와 반구로 구성됩니다. 캡슐의 부피는 실린더의 부피와 양쪽 끝에 반구의 부피를 첨가하여 계산할 수 있습니다. 이 튜토리얼은 다른 방법을 사용하여 Java에서 주어진 캡슐의 부피를 계산하는 방법에 대해 논의합니다. 캡슐 볼륨 공식 캡슐 볼륨에 대한 공식은 다음과 같습니다. 캡슐 부피 = 원통형 볼륨 2 반구 볼륨 안에, R : 반구의 반경. H : 실린더의 높이 (반구 제외). 예 1 입력하다 반경 = 5 단위 높이 = 10 단위 산출 볼륨 = 1570.8 입방 단위 설명하다 공식을 사용하여 볼륨 계산 : 부피 = π × r2 × h (4

PHP8에서 매치 표현식은 표현식의 값에 따라 다른 결과를 반환하는 새로운 제어 구조입니다. 1) 스위치 명령문과 유사하지만 실행 명령문 블록 대신 값을 반환합니다. 2) 경기 표현식은 엄격하게 비교되어 (===) 보안을 향상시킵니다. 3) 스위치 명세서에서 가능한 파손을 피하고 코드의 단순성과 가독성을 향상시킵니다.
