📜  Ruby XPath和XSLT

📅  最后修改于: 2021-01-08 13:25:03             🧑  作者: Mango

Ruby XPath和XSLT

Ruby XPath

Ruby XPath是一种用于在XML文件中查找信息的语言。它是查看XML文件的替代方法。它用于浏览XML文档中的元素和属性,并将该文档视为逻辑顺序树。

Ruby XPath对于从XML文件获取相关信息和属性非常有用。它需要基于树的解析。

例:

#!/usr/bin/ruby -w 

require 'rexml/document' 
include REXML 

xmlfile = File.new("trial.xml") 
xmldoc = Document.new(xmlfile) 

# Info for the first cloth found 
clothing = XPath.first(xmldoc, "//clothing") 
p clothing 

# Print out all the cloth types 
XPath.each(xmldoc, "//type") { |e| puts e.text } 

# Get an array of all of the cloth brands. 
names = XPath.match(xmldoc, "//brand").map {|x| x.text } 
p names

输出:

Ruby XSLT

Ruby XSLT是基于libxml和libxslt的简单类。 Ruby有两个XSLT解析器。

  • Ruby-Sablotron
  • XSLT4R

它可以根据GNU条款自由分发。该程序的分发没有任何保证。

Ruby-Sablotron

它主要是为Linux操作系统编写的,由高桥正敏编写。

它需要以下库:

  • Sablot
  • 艾康
  • 外籍人士

XSLT4R

它是由迈克尔·诺伊曼(Michael Neumann)撰写的。它使用一个简单的命令行界面,并且可以在第三方应用程序中替代使用它来转换XML文档。

XSLT4R需要XMLScan才能运行,它包含在XSLT4R档案中。这些模块需要使用标准的Ruby安装方法进行安装。

句法:

ruby xslt.rb stylesheet.xsl document.xml [arguments]

要在应用程序中使用XSLT4R,您需要包括XSLT并输入所需的参数。