热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

应用PHP和AJAX的XML编程

在SOA架构中,程序员经常应用XML在利用程序之间交换结构化和半结构化的数据。XML及其相干技巧—文档对象模型(DocumentObjectModel,DOM)、XPath、HTTP、XQuery和可扩大样式表语言转换

  在 SOA 架构中,程序员经常应用 XML 在利用程序之间交换结构化和半结构化的数据。XML 及其相干技巧 — 文档对象模型(Document Object Model,DOM)、XPath、HTTP、XQuery 和可扩大样式表语言转换(Extensible Stylesheet Language Transformations,XSLT) — 为快速利用程序开发供给了一个强盛的环境。构建在这些技巧之上的利用程序将占用更小的内存空间,需要更低的保护本钱,同时又拥有更高的品德和机动性。

  DB2 和其他关系数据库的 XML 方面的特征已经相当成熟,因此除了存储和治理关系数据之外,它们还是存储和治理 XML 数据的幻想选择。DB2 9 XML 支撑(称为 pureXML)供给了以纯 XML 的情势(换句话说,就是带注释的、树型的分层存储)存储 XML 的才能。在 DB2 9 中,XML 数据可以用 XML 模式索引,可以从关系数据组合而成,可以分解为关系数据,可以查询和转换,可以独立宣布,或者通过混杂应用 SQL/XML 和 XQuery 与关系数据组合起来。

  Web 浏览器也正在为客户机脚本供给更多的功效来有效地处理 XML。通过应用异步 Javascript 和 XML(Asynchronous Javascript and XML,Ajax),Web 页面现在可以直接对利用服务器进行远程过程调用,并且可以在任何返回的 XML 数据上应用 DOM API。

  本文将展现如何利用 DB2 XML、Ajax 和 PHP Hypertext Preprocessor (PHP) 供给的功效来编写简略的基于 XML 的利用程序。通过示例场景的帮助,您将学习如何在 Javascript 中调用 PHP 利用程序;如何应用 DOM 和 SimpleXML API 修正 XML 数据;如何将 XML 从客户机传送到利用程序再到数据库;以及如何创立 PHP Web 服务来应用 SQL/XML 和 XQuery 宣布关于 XML 数据的报告。

  XML 长处

  大多数利用程序都用于创立、存储、把持和浮现业务数据。对象包装是指将业务数据绑在一起,使业务逻辑更轻易处理它们。这些包装器对象的很多功效都是根据关系和格局化规矩来供给业务数据的结构,并使业务逻辑能够把持、宣布和串行化封装的数据。

  图 1. 基于对象包装器的利用程序
  图 1. 基于对象包装器的利用程序

  图 1 阐释了应用对象包装器的一个示例人寿保险利用程序。每个方框表现一个对象,每个对象至少有:

  ·一个结构函数

  ·Getter 和 Setter 方法

  ·验证代码

  ·内部对象层次的串行化

  这些对象与实际的业务逻辑没有关系。对象包装是为了使业务逻辑更轻易治理业务数据。包装数据所需的代码比业务逻辑要多得多。更多的代码将导致更多的 bug、更大的固定性、更多的保护和更高的本钱。

  假如对象中的数据变量可以格局化为 XML 结构,并且对象的重要作用是将这些数据***露给业务逻辑并让业务逻辑把持它们,那么可以用 DOM 代替对象。

  图 2. 基于 XML 的利用程序
  图 2. 基于 XML 的利用程序

  图 2 展现了一个应用 XML 和 DOM 包装器的示例保险利用程序。图 1 中的所有数据包装器对象都用一个 DOM 对象代替。业务数据是用 XML 建模的,DOM 供给了必要的 API 来:

  ·创立新的 XML 对象。

  ·更新 XML 对象的值。

  ·导航 XML 对象。

  ·应用 XPath 在对象层次中搜索。

  ·串行化和反串行化 XML 对象层次(换句话说,就是内建持久性)。

  通过应用 XML,可以避免应用大多数用于治理业务数据的包装器对象。利用程序将变得更加简洁,并且更多地将重点放在业务逻辑上,而不是数据治理上。

  XML 和架构

  将 XML 引进架构中可认为表现业务数据带来一种尺度化的方法。XML 可以供给数据的结构;XML 模式施加结构和格局化规矩;DOM API 和 XQuery、XPath 及 XSLT 之类的语言使业务逻辑可以有效地把持、宣布和串行化数据。由于业务数据的 XML 表现在客户机、中间层和数据库中都是一致的,因此把持这些对象的代码也是类似的。

  我将展现如何在三层环境中构建基于 XML 的利用程序,这个三层环境由以下几个部分组成:

  ·Web 客户机:Asynchronous Javascript and XML (Ajax),DOM

  ·利用服务器:PHP 和 SimpleXML

  ·数据库: DB2 9 和 SQL/XML,XQuery [1] [2] [3] [4] 下一页  


推荐阅读
  • 探索 PHP 8.0 的重大更新:轻松获取年度月份数据
    PHP 8.0 引入了多项重要更新,包括增强的类型系统、全新的 JIT 编译器以及联合类型等特性。这些改进不仅提升了性能,还简化了开发流程。本文将重点介绍如何利用 PHP 8.0 的新功能轻松获取年度和月份数据,为开发者提供更高效、更简洁的解决方案。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 本文探讨了如何在 Google Sheets 中通过自定义函数实现 AJAX 调用。具体介绍了编写脚本的方法,以便在电子表格中发起 AJAX 请求,从而实现数据的动态获取与更新。这种方法不仅简化了数据处理流程,还提高了工作效率。 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 浅析PHP中$_SERVER[
    在PHP后端开发中,`$_SERVER["HTTP_REFERER"]` 是一个非常有用的超级全局变量,它可以获取用户访问当前页面之前的URL。本文将详细介绍该变量的使用方法及其在不同场景下的应用,如页面跳转跟踪、安全验证和用户行为分析等。通过实例解析,帮助开发者更好地理解和利用这一功能。 ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 探索JavaScript倒计时功能的三种高效实现方法及代码示例 ... [详细]
  • 在Laravel中实现PHP对JSON数据的发布与处理 ... [详细]
author-avatar
foreverfda
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有