首页 > 语言 > 关键词  > XML最新资讯  > 正文

了解 XML实现通用的数据访问

2007-08-17 11:46 · 稿源:编程中国

了解可扩展标记语言 (XML) 如何帮助我们实现通用的数据访问。XML 是一种基于 Unicode 的纯文本元语言,即一种用于定义标记语言的语言。它不依赖于任何编程语言、操作系统或软件供应商。XML 可以提供对各种数据处理、构建、转换和查询技术的访问。(本文包含一些指向英文站点的链接。)

简介

最初设想的可扩展标记语言 (XML) 用于为 Web 定义新文档的格式。XML 由标准通用标记语言 (SGML) 衍生而来,可以认为它是一种元语言,即一种定义标记语言的语言。SGML 和 XML 都是基于文本的格式,提供了一种使用标记(文字由‘<’和‘>’括起)描述文档结构的机制。Web 开发人员可能会注意到,XML 与 HTML 有一些相似,这是因为这二者都是由 SGML 衍生而来的。

随着 XML 的应用日益普及,现在人们已普遍认同,XML 不仅有助于为 Web 描述新文档的格式,而且也适用于描述结构化的数据。所谓结构化的数据包括那些电子表格、程序配置文件和网络协议中通常所包含的信息。

XML 要优于早期的数据格式,因为 XML 可以很轻松地表示表格式的数据(如数据库中的关系数据或电子表格)和半结构化的数据(如 Web 页面或业务文档)。早已存在且应用广泛的一些格式(如逗号分隔值 [CSV] 文件)可以有效地处理表格式数据,却不能很好地处理半结构化数据,而 RTF 等则只能专门用于半结构化的文本文档。因此,XML 作为信息交换的通用语言被广泛接受。

无处不在的 XML

除了可以表示结构化和半结构化的数据之外,XML 还有许多其他特性,使其成为一种被广泛采用的数据表示格式。XML 是可扩展的,与平台无关的,并且由于其完全采用 Unicode 而支持国际化。XML 是基于文本的格式,因此,用户可以根据需要使用标准的文本编辑工具读取和编辑 XML 文档。

XML 的可扩展性表现在多个方面。首先,与 HTML 不同,XML 没有固定的词汇表。相反,用户可以使用 XML 定义特定的应用程序或行业专用的词汇表。其次,与使用其他格式的应用程序相比,处理或使用 XML 格式的应用程序对 XML 结构的更改更具“抵抗力”,只要这些更改是附加的。例如,如果某个应用程序主要处理具有

customer-id

属性的

<Customer>

元素,如果再向

<Customer>

元素添加一个

last-purchase-date

属性,该应用程序通常也不会被破坏。这样的适应性在其他的数据格式中很少见,这也成为使用 XML 的一个显著优势。

XML 不依赖于任何编程语言、操作系统或软件供应商。事实上,使用各种编程语言都可以很容易地生成或使用 XML。而平台独立性使得 XML 有助于在不同编程平台和操作系统之间实现互操作。

很多人已经意识到将数据发布为 XML 有很多优势,由此也推动了 XML 数据源的大量应用。人们正在或者已经将业务文档、数据库和业务间的通讯等信息源转换为使用 XML 作为表示格式。Microsoft 的产品,如 Microsoft Office&reg;、Microsoft SQL Server&#8482; 和 Microsoft .NET Framework,都能使最终用户和开发人员将文档、网络信息和其他数据生成为 XML 或作为 XML 使用。

XML 1.0 语法

如前所述,W3C XML 1.0 推荐描述了一种基于文本的格式,使用类似于 HTML 的语法来描述结构化和半结构化的数据。

XML 和 HTML 的对比

HTML 和 XML 文档都由元素组成,每个元素都包含一个“起始标记”(例如<order>)、一个“结束标记”(例如</order>),以及两个标记之间的信息(指元素的内容)。元素可以使用属性进行注解,属性包含了关于元素及其内容的元数据。

但是,HTML 与 XML 之间存在一个显著的差别,即 XML 区分大小写,而 HTML 不区分大小写。也就是说,在 XML 中,起始标记<Table>和<table>

是不同的,而在 HTML 中则是相同的。HTML 与 XML 之间的另一个差别是,XML 引入了“良好结构”的概念。XML 的“良好结构”规则通过强制规定一些规则来消除在处理 HTML 等标记语言时存在的一些固有的模糊性,如它强制规定了所有属性都必须用括号括起,所有元素都必须具有一对起始标记和结束标记,或者明确指出其为空元素。有关良好结构的简短说明,请参阅“XML FAQ”的 D.2 部分。

HTML 与 XML 之间最显著的区别在于,HTML 已预先定义了元素和属性,元素和属性的行为已完全指定,而 XML 则不是这样。相反,文档作者可以创建自己的特定于其应用程序或业务需求的 XML 词汇表。目前已有的 XML 词汇表适用于许多行业和应用程序,从财务信息报告 (XBRL)、金融服务 (FpML) 到 Web 文档 (XHTML)、网络协议 (SOAP)。由于不必关注那些用来指定如何呈现或显示 XML 文档的预定义元素和属性,因此文档作者在创建文档时就可以将重点放在与其特定问题领域相关的语义信息上。XML 词汇表带来了内容与形式的分离,使得信息和内容可以得到更大规模的重复利用。

XML 文档剖析

以下示例是一个表示音像商店客户订单的 XML 文档。请注意,此文档既表示了严谨的结构化数据(用来描述光盘信息),也表示了半结构化数据(用来说明有关特定顾客的特殊说明和注释),而其表示方式非常简单。

以下为引用的内容:

<?XML version="1.0" encoding="iso-8859-1" ?>
<?XML-stylesheet href="orders.xsl"?>

<order id="ord123456">
<customer id="cust0921">
  <first-name>Dare</first-name>
  <last-name>Obasanjo</last-name>
  <address>
   <street>One Microsoft Way</street>
   <city>Redmond</city>
   <state>WA</state>
   <zip>98052</zip>
  </address>
</customer>
<items>
  <compact-disc>
   <price>16.95</price>
   <artist>Nelly</artist>
   <title>Nellyville</title>
  </compact-disc>
  <compact-disc>
   <price>17.55</price>
    <artist>Baby D</artist>
    <title>Lil Chopper Toy</title>
  </compact-disc>
</items>

<!-- 要多走几英里找到顾客 -->
<special-instructions XMLns:html="https://www.w3.org/1999/xhtml/">
  <html:p>If customer is not available at the address then attempt
   leave package at one of the following locations listed in order of
   which should be attempted first
  <html:ol>
   <html:li>Next Door</html:li>
   <html:li>Front Desk</html:li>
   <html:li>On Doorstep</html:li>
  </html:ol>
  <html:b>Note</html:b> Remember to leave a note detailing where
   to pick up the package.
  </html:p>
</special-instructions>
</order>

文档的开头是可选的 XML 声明,用以指定所使用的 XML 版本,然后是文档所使用的字符编码。接下来是 XML 样式表处理指令,用来绑定样式表。样式表中包含的 XML 文档的格式化指令可以用更生动的方式在用户应用程序(例如 Web 浏览器)中呈现 XML 文档。处理指令通常用来在 XML 文档中嵌入特定于应用程序的信息。例如,处理以上文档的大多数应用程序都会忽略 XML 样式表处理指令,而用于显示 XML 文档的应用程序(例如 Web 浏览器)则会使用处理指令中的信息,以确定将包含了用于显示文档的特殊指令的样式表定位在哪里。

Unicode + 尖括号 = 互操作

XML 1.0 语法是基于文本的,而且可以很容易地进行分析,这使得 XML 在需要跨平台进行交互操作时,成为首选的数据交换格式。在多种常用的操作系统中都可以使用 XML 分析器,因此,不同平台上完全不同的部件在需要共享信息时,可以很容易地进行标准化,采用 XML 作为交换格式。

以 Unicode 为基础的 XML 也适用于在全球网络中共享信息,例如在 Web 上。

信息集 (Infoset) 和 XML 系列技术

尽管使用 XML 作为数据表示格式可以带来一个极大的优势:通过使用基于文本的 XML 语法获得平台互操作性和可扩展性,但这只是 XML 为应用程序开发人员带来的益处之一。使用 XML 的另一个主要好处在于,用户可以访问各种数据处理、构建、转换和查询技术。

举报

  • 相关推荐
  • 汉斯顿净水器怎么样?用户与数据告诉你答案

    本文从质量保障、用户口碑和性价比三个维度全面解析汉斯顿净水器的实际表现。作为国内净水领域领先品牌,汉斯顿建立了完善的质量控制体系,产品通过多项权威认证,采用自主研发的GPAN超滤膜等核心技术,净水效果达到医疗级标准。市场表现方面,连续8年蝉联"消费者满意品牌",电商好评率常年保持98%以上,全国布局5000多个服务网点提供完善售后支持。价格策略上,汉斯顿以国际技术打造大众可负担的优质产品,实现技术与价格的合理匹配。文章建议消费者根据实际水质情况和需求选择合适型号,汉斯顿凭借过硬品质和亲民定位,成为家庭健康饮水的可靠选择。

  • 后信创时代,融合数据库成为国产数据库的新锚点

    7月15日,中电科金仓发布四款AI时代数据库核心产品:KES V92025融合数据库、KEMCC统一管控平台、云数据库一体机(AI版)和KFS Ultra智能数据集成平台。公司提出"融合数据库"战略,通过底层架构重构实现多模态数据统一处理,支持向量检索、语义计算等AI场景需求。金仓同步启动"金兰组织2.0"计划,联合产学研力量构建国产数据库生态。此次发布标志着国产数据库从"替代兼容"转向"定义未来",在AI驱动的技术变革中与国际厂商同步起跑。预计到2028年,中国数据库市场规模将达930亿元,年复合增长率12.23%。

  • 瓴羊带队“走进麦当劳·会数据同学”,看麦当劳中国如何用AI重塑“人货场

    麦当劳中国宣布未来4年将投入40亿元加速数字化转型,聚焦"人货场"重构,通过与阿里云、羚羊等深度合作打造数字化价值链。重点包括:1)消费者端整合会员与订单系统,实现体验协同;2)门店端通过AI排班、IoT设备管理等提升运营效率,1名员工可远程管理多家门店;3)总部构建动态管理体系,实现数据驱动决策。同时,羚羊发布智能客服Agent,覆盖电商、汽车等行业,解决退货流程复杂等行业痛点,部分场景效率提升80%。阿里云强调大模型需与业务深度融合,已在零售业知识库、智能建单等场景落地。麦当劳通过数字化手段降低管理门槛,支撑每年新增1000家门店的扩张目标。

  • 亿信华辰数据治理解决方案助力构建高质量数据集

    文章探讨了AI时代高质量数据的重要性及数据治理的关键作用。指出80%的AI项目因数据质量问题失败,低质、分散、标准不一的数据成为AI落地的主要障碍。提出数据治理应从"数据可用"到"数据好用"构建全链路能力,包括明确治理目标、搭建管理平台、持续改进质量三大核心动作。以亿信华辰为例,介绍其通过"标准-质量-资产-安全"四大模块的数据治理平台,帮助客户提升AI项目效率60%以上。强调数据治理已成为企业智能转型的必选项,需要建立专业组织和运营机制,持续挖掘高价值数据,为AI提供精准供给。

  • 从“不敢替”到“能平替”:国产数据库如何逆袭Oracle核心腹地?

    文章讲述了一位资深数据库管理员老邓对国产数据库替代Oracle的担忧与转变。老邓最初对国产数据库持怀疑态度,担心应用改造难度大、数据迁移复杂、系统停机时间长等问题。但在技术选型会上,一家国产数据库厂商展示了六大核心解决方案:高兼容性实现零改造、全自动迁移工具确保数据一致性、柔性迁移方案避免停机、基于真实负载的测试工具、双轨并行随时回退机制,以及媲美Oracle的性能表现。最终老邓被金仓数据库的技术实力所折服,项目成功上线运行稳定。文章展现了国产数据库在核心技术上的突破,能够满足关键业务系统的替代需求。

  • 渣打中国与网易数帆展开合作,探索数据开发智能化升级

    7月23日,渣打银行(中国)与网易数帆在上海举行线下交流会,探讨金融行业数据治理、AI技术与银行数字化发展等议题。渣打中国首席信息官乔建新等高管出席。作为历史悠久的国际银行,渣打持续加大金融科技投入,加快数字化转型。网易数帆基于20余年技术沉淀,以数据应用为核心,助力金融机构释放数据价值。2022年双方合作升级EasyData平台,此次进一步探讨AI技术提升数据开发效能的新路径,展示自然语言生成代码等功能。未来双方将继续深化合作,推动前沿科技在金融领域的创新应用。

  • 沃莱科技「体脂秤×围度尺×跳绳」:让体重管理从“减肥焦虑”到“数据掌控”

    沃莱科技推出"健康黄金三角"智能健身方案:P7Max八电极体脂秤精准测量8项核心指标,误差仅±2mm的W5智能围度尺追踪腰臀腿变化,鸿蒙智选智能跳绳S2实时监测燃脂心率。三款产品通过Fitdays+App实现数据联动,形成"运动-监测-调整"闭环,解决传统健身效果难量化问题。其中P7Max体脂测量与DEXA金标准相关性达0.985,W5可捕捉毫米级围度变化,跳绳S2配备动态心率算法确保运动处在最佳燃脂区间。该方案突破体重单一维度评估,实现体脂健康可视化追踪与科学管理。

  • 2025年国内AI大模型哪家强?上AI大模型选型对比工具,用数据说话!

    文章分析了国内AI大模型市场竞争格局,指出百度、阿里、腾讯、字节等科技巨头与初创公司纷纷布局,呈现繁荣景象。针对用户选型难题,提出需综合考虑参数规模、场景适配、成本效益等关键因素,并介绍了AIbase推出的AI大模型选型对比工具。该工具汇集主流模型最新数据,支持多维度能力对比和场景化筛选,帮助用户快速定位最适合自身需求的模型。最后强调没有"最强"的通用模型,只有最匹配特定场景的解决方案。

  • 冷建全的“冷”思考:AI狂潮下,金仓数据库为何把“融合”刻进基因?

    7月15日,中国电科旗下金仓数据库以"融合进化 智领未来"为主题发布全新战略,提出未来数据库应"以融合为体,以AI为用"。金仓数据库高级副总裁冷建全指出,国产数据库在AI时代的突围路径是构建"五个一体化"融合能力体系,而非简单追逐热点。金仓数据库通过多语法体系兼容、多集群架构支持、多模型数据存储、多应用场景处理、开发运维一体化五大能力,显著降低国产化替代总成本。在AI应用方面,金仓重点布局向量计算和智能运维,其向量引擎已支持多种数据类型,并应用于公共安全、电力巡检等领域。同时推出的"K宝"AI助手可提供智能运维支持,故障预警准确率达98%以上。金仓强调"融合是根本,AI是赋能",通过夯实数据库内核能力,为各行业数字化转型提供稳定高效的数据基础设施支撑。

  • 绿舟受邀访问瑞典驻华大使馆,聚焦CBAM共探可持续发展

    绿舟作为跨境碳合规领军企业,受邀访问瑞典驻华大使馆,与瑞典驻华大使馆一等秘书Erik Lindner Olsson及项目官员杨华女士就中瑞企业可持续发展问题展开交流。绿舟联合创始人李智圆先生与绿舟CBAM合规经理崔浩洋先生代表公司出席。双方聚焦CBAM政策与ESG建设,探讨如何助力跨境企业高效合规出海。绿舟已服务超70%头部跨境企业,构建了完善的碳合规体系,推出行业首个一站式碳管理SaaS平台。此次交流深化了中瑞企业在绿色低碳领域的合作共识,为跨境企业应对全球环保政策挑战提供专业支持。