国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在Ruby中處理XML和XSLT以及XPath的簡單教程

2019-10-26 19:25:19
字體:
來源:轉載
供稿:網友

什么是 XML ?

XML 指可擴展標記語言(eXtensible Markup Language)。

可擴展標記語言,標準通用標記語言的子集,一種用于標記電子文件使其具有結構性的標記語言。

它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。

XML解析器結構和API

XML的解析器主要有DOM和SAX兩種。

        SAX解析器是基于事件處理的,需要從頭到尾把XML文檔掃描一遍,在掃描的過程中,每次遇到一個語法結構時,就會調用這個特定語法結構的事件處理程序,向應用程序發送一個事件。     DOM是文檔對象模型解析,構建文檔的分層語法結構,在內存中建立DOM樹,DOM樹的節點以對象的形式來標識,文檔解析文成以后,文檔的整個DOM樹都會放在內存中。

Ruby 中解析及創建 XML

RUBY中對XML的文檔的解析可以使用這個庫REXML庫。

REXML庫是ruby的一個XML工具包,是使用純Ruby語言編寫的,遵守XML1.0規范。

在Ruby1.8版本及其以后,RUBY標準庫中將包含REXML。

REXML庫的路徑是: rexml/document

所有的方法和類都被封裝到一個REXML模塊內。

REXML解析器比其他的解析器有以下優點:

        100% 由 Ruby 編寫。     可適用于 SAX 和 DOM 解析器。     它是輕量級的,不到2000行代碼。     很容易理解的方法和類。     基于 SAX2 API 和完整的 XPath 支持。     使用 Ruby 安裝,而無需單獨安裝。

以下為實例的 XML 代碼,保存為movies.xml:

<collection shelf="New Arrivals"><movie title="Enemy Behind">  <type>War, Thriller</type>  <format>DVD</format>  <year>2003</year>  <rating>PG</rating>  <stars>10</stars>  <description>Talk about a US-Japan war</description></movie><movie title="Transformers">  <type>Anime, Science Fiction</type>  <format>DVD</format>  <year>1989</year>  <rating>R</rating>  <stars>8</stars>  <description>A schientific fiction</description></movie>  <movie title="Trigun">  <type>Anime, Action</type>  <format>DVD</format>  <episodes>4</episodes>  <rating>PG</rating>  <stars>10</stars>  <description>Vash the Stampede!</description></movie><movie title="Ishtar">  <type>Comedy</type>  <format>VHS</format>  <rating>PG</rating>  <stars>2</stars>  <description>Viewable boredom</description></movie></collection>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太康县| 宁波市| 麟游县| 韶山市| 福海县| 普格县| 陕西省| 安吉县| 天柱县| 浦城县| 墨脱县| 晴隆县| 仙居县| 兴宁市| 离岛区| 商都县| 阳城县| 土默特右旗| 长岭县| 安阳市| 衢州市| 榆社县| 兴仁县| 平舆县| 阜阳市| 尉犁县| 寿宁县| 邵武市| 台中县| 来凤县| 固阳县| 哈巴河县| 芜湖市| 文山县| 通河县| 莱芜市| 调兵山市| 井研县| 天津市| 永济市| 广宁县|