java中使用xQuery

saxon-8.7.jar&testng;-results.xsl testng 报告优化,需要用到的一个jar包,和一个样式文件。saxon-8.7.jar&testng;-results.xsl 立即下载
一、使用eclipse新建一个java project
二、把saxon的jar包放入classpath(我用的jar包是saxon9ee.jar)
三、新建package,然后新建一个xml文件(cd_catalog.xml),其内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
    <CATALOG>
         <CD>
              <TITLE>Empire Burlesque</TITLE>
              <ARTIST>Bob Dylan</ARTIST>
              <COUNTRY>USA</COUNTRY>
               <COMPANY>Columbia</COMPANY>
              <PRICE>10.90</PRICE>
              <YEAR>1985</YEAR>
         </CD>
         <CD>
              <TITLE>Hide your heart</TITLE>
              <ARTIST>Bonnie Tyler</ARTIST>
              <COUNTRY>UK</COUNTRY>
              <COMPANY>CBS Records</COMPANY>
              <PRICE>9.90</PRICE>
              <YEAR>1988</YEAR>
         </CD>
         <CD>
              <TITLE>Greatest Hits</TITLE>
              <ARTIST>Dolly Parton</ARTIST>
              <COUNTRY>USA</COUNTRY>
              <COMPANY>RCA</COMPANY>
              <PRICE>9.90</PRICE>
              <YEAR>1982</YEAR>
         </CD>
         <CD>
              <TITLE>Still got the blues</TITLE>
              <ARTIST>Gary Moore</ARTIST>
              <COUNTRY>UK</COUNTRY>
              <COMPANY>Virgin records</COMPANY>
              <PRICE>10.20</PRICE>
              <YEAR>1990</YEAR>
         </CD>
         <CD>
              <TITLE>Eros</TITLE>
              <ARTIST>Eros Ramazzotti</ARTIST>
              <COUNTRY>EU</COUNTRY>
              <COMPANY>BMG</COMPANY>
              <PRICE>9.90</PRICE>
              <YEAR>1997</YEAR>
         </CD>
         <CD>
              <TITLE>One night only</TITLE>
              <ARTIST>Bee Gees</ARTIST>
              <COUNTRY>UK</COUNTRY>
              <COMPANY>Polydor</COMPANY>
              <PRICE>10.90</PRICE>
              <YEAR>1998</YEAR>
         </CD>
         <CD>
              <TITLE>Sylvias Mother</TITLE>
              <ARTIST>Dr.Hook</ARTIST>
              <COUNTRY>UK</COUNTRY>
              <COMPANY>CBS</COMPANY>
              <PRICE>8.10</PRICE>
              <YEAR>1973</YEAR>
         </CD>
         <CD>
                <TITLE>Maggie May</TITLE>
              <ARTIST>Rod Stewart</ARTIST>
              <COUNTRY>UK</COUNTRY>
              <COMPANY>Pickwick</COMPANY>
              <PRICE>8.50</PRICE>
              <YEAR>1990</YEAR>
         </CD>
         <CD>
               <TITLE>Romanza</TITLE>
              <ARTIST>Andrea Bocelli</ARTIST>
              <COUNTRY>EU</COUNTRY>
              <COMPANY>Polydor</COMPANY>
              <PRICE>10.80</PRICE>
              <YEAR>1996</YEAR>
       </CD>
         <CD>
              <TITLE>When a man loves a woman</TITLE>
              <ARTIST>Percy Sledge</ARTIST>
              <COUNTRY>USA</COUNTRY>
              <COMPANY>Atlantic</COMPANY>
              <PRICE>8.70</PRICE>
              <YEAR>1987</YEAR>
         </CD>
   </CATALOG>


        

四、新建一个java class(XqueryTest.java)

import java.io.IOException;
import java.util.Properties;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.xml.sax.SAXException;

import net.sf.saxon.Configuration;
import net.sf.saxon.dom.*;
import net.sf.saxon.query.DynamicQueryContext;
import net.sf.saxon.query.StaticQueryContext;
import net.sf.saxon.query.XQueryExpression;
import net.sf.saxon.trans.XPathException;

public class XqueryTest {
 /**
  * 执行查询
  */
 public static void select(){
  //文件
  String fileString = "src/study/xquery/cd_catalog.xml";
  //查询语句
  String query = " for $s in //CD/TITLE "
    + " return $s";
  //生产文档对象
  Document document = getDocument(fileString);
  Configuration configuration = new Configuration();
  StaticQueryContext context = new StaticQueryContext(configuration, false);
  //查询表达式对象
  XQueryExpression expression = null;
  try {
   expression = context.compileQuery(query);
   DynamicQueryContext context2 = new DynamicQueryContext(configuration);
   context2.setContextItem(new DocumentWrapper(document,null,configuration));
   
   final Properties props = new Properties();
            props.setProperty(OutputKeys.METHOD, "xml");
            props.setProperty(OutputKeys.INDENT, "yes");
            //执行查询,并输出查询结果
            expression.run(context2, new StreamResult(System.out), props);
  } catch (XPathException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 }
 /**
  * 生产文档对象
  *
  * @param xml   文件名
  * @return
  */
 public static Document getDocument(String xml){
  DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder;
  Document document = null;
  try {
   builder = builderFactory.newDocumentBuilder();
   document = builder.parse(xml);
  } catch (ParserConfigurationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SAXException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  document.normalize();
  return document;
 }
 /**
  * 输入生成的文档内容
  *
  * @param doc
  */
 public static void output(Document doc){
  TransformerFactory factory = TransformerFactory.newInstance();
  Transformer transformer = null;
  try {
   transformer = factory.newTransformer();
   Properties properties = transformer.getOutputProperties();
   properties.setProperty(OutputKeys.INDENT, "yes");
            properties.setProperty(OutputKeys.ENCODING, "GB2312");
            properties.setProperty(OutputKeys.METHOD, "xml");
            properties.setProperty(OutputKeys.VERSION, "1.0");
            transformer.setOutputProperties(properties);
           
            DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(System.out);
            transformer.transform(source, result);
   
  } catch (TransformerConfigurationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (TransformerException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 public static void main(String[] args) {
  select();
 }
}


五、运行结果
<?xml version="1.0" encoding="UTF-8"?>
<TITLE>Empire Burlesque</TITLE>
<TITLE>Hide your heart</TITLE>
<TITLE>Greatest Hits</TITLE>
<TITLE>Still got the blues</TITLE>
<TITLE>Eros</TITLE>
<TITLE>One night only</TITLE>
<TITLE>Sylvias Mother</TITLE>
<TITLE>Maggie May</TITLE>
<TITLE>Romanza</TITLE>
<TITLE>When a man loves a woman</TITLE>
saxon的jar包 saxon框架可用来作为xquery的javaAPI,附件主要包含了的saxon-9.x.jar;saxon-dom-9.x.jar;saxon-xpath-9.x.jar;saxon-xqj-9.x.jar 立即下载

相关推荐

saxon9-dom.jar

Files contained in saxon9-dom.jar: META-INF/MANIFEST.MF net.sf.saxon.dom.AttrOverNodeInfo.class net.sf.saxon.dom.DOMAttributeMap.class net.sf.saxon.dom.DOMEnvelope.class net.sf.saxon.dom.DOMExceptionImpl.class net.sf.saxon.dom.DOMImplementationImpl.class net.sf.saxon.dom.DOMNodeList.class net.sf.saxon.dom.DOMObjectModel.class net.sf.saxon.dom.DOMSender.class net.sf.saxon.dom.DOMTransform.class net.sf.saxon.dom.DOMWriter.class net.sf.saxon.dom.DocumentBuilderFactoryImpl.class net.sf.saxon.dom.DocumentBuilderImpl.class net.sf.saxon.dom.DocumentOverNodeInfo.class net.sf.saxon.dom.DocumentWrapper.class net.sf.saxon.dom.ElementOverNodeInfo.class net.sf.saxon.dom.NodeOverNodeInfo.class net.sf.saxon.dom.NodeWrapper.class net.sf.saxon.dom.PIOverNodeInfo.class net.sf.saxon.dom.TextOverAttrInfo.class net.sf.saxon.dom.TextOverNodeInfo.class net.sf.saxon.dom.TypeInfoImpl.class

在Java中应用Saxon实现Xquery

最近要用Saxon实现Xquery,一点基础都没有,

cress01的专栏 2412

saxon.jarsaxon.jar

saxon.jarsaxon.jar

java使用xquery_如何使用Java XQuery

一、 下载datadirectxquery.jar包,解压安装二、 在Eclipse中新建一个Java Project项目,将步骤一中的lib中的jar 文件导进来。三、 开始步骤:a)创建数据源 DataSourceb)创建连接 Connectionc)书写XQuery语句d)创建Expression,以便后面对XQuery语句进行解析e)绑定参数f)执行解析g)处理数据四、 示例如下:a)DD...

weixin_34898216的博客 494

Redis+Unity 数据库搭建

游戏中需要存放排行榜等数据,而且是实时存放,所以就涉及到数据库的问题。这里找服务器大神了解到可以用Redis来做存储,免费的效率极高。

chaixinke的专栏 879

MicroPython 开发ESP32应用教程 之 WIFI配网 Web页面配网 softAP 配网 web页面控制WS2812灯珠

MicroPython 开发ESP32应用教程 之 WIFI配网 Web页面配网 softAP 配网 web页面控制WS2812灯珠

weald2000的专栏 2080

java使用xquery

在使用关系数据库时,我们通过sql语句来检索数据源,这没有任何问题,但是关系数据也存在着一定的局限性,只能存储结构化的数据 当数据集是非结构化的时候该怎样存储呢,最简单的办法就是封装成xml。 应用开发中我们经常使用xml作为数据源来存储一些非结构化的数据,然而是否存在一种语言可以像sql语句检索关系数据库一样来检索xml呢?答案就是xquery。 xquery本身的语法结构并不复杂,x

JavaMan_chen的专栏 6743

Vivado实战:UltraScale/UltraScale+器件eFUSE寄存器配置与安全编程全解析

本文详细解析了Xilinx UltraScale/UltraScale+器件中eFUSE寄存器的配置与安全编程方法。从芯片唯一身份标识到加密密钥烧录,再到用户寄存器的灵活应用和安全控制寄存器的配置技巧,全面介绍了如何利用eFUSE功能提升硬件安全性。文章还提供了JTAG接口安全管理和NKZ文件备份方案,帮助开发者避免常见陷阱,确保安全编程的可靠性。

weixin_42535703的博客 428

java使用xquery_java xquery

– 选择特定 XML 文档,为 XPath 返回的节点增加选择条件的附加语 法;– API接口,如 XQJ(XQuery for Java API),应用XQuery需要使用 具体的编程语言对 XQuery ......简化XQuery解析器的设计与实现(A Simplified XQuery Parser)(1人,已定) 90 XML在RDB的存储机制(1人,已定) 91 一种有效的内存数据库索...

weixin_42245736的博客 541

单细胞多组学数据整合分析实战:从原始数据到跨平台合并

本文详细介绍了单细胞多组学数据整合分析的实战流程,从原始数据处理到跨平台合并分析。通过Seurat和Harmony等工具的应用,帮助研究者有效解决批次效应问题,保留真实的生物学信号。文章包含代码示例和常见问题解决方案,特别适合需要进行单细胞合并分析的研究人员参考。

weixin_30752699的博客 90

目标检测YOLO实战应用案例100讲-基于数据融合的SAR图像中海上目标检测与跟踪(中)

本文使用的数据集为欧空局(European Space Agency, ESA)提供的Sentinal-1 数据集,Sentinel-1是欧洲“哥白尼计划”的SAR卫星机群,主要是用于陆地和海 洋服务的极地轨道全天候昼夜雷达成像任务[ 34]。Sentinel-1A于2014年4月3日发 射升空,Sentinel-1B于2016年4月25日发射升空,每颗卫星都携带C波段SAR, 共同提供地球表面的全天候、昼夜图像。

qq_36130719的博客 356

如何在java程序中使用Xquery----datadirectxquery

现在很多开源组织和公司针对XQuery参考规范实现了查询引擎,比较有代表性的是XQEngine、Saxon、Galax等开源XQuery引擎,BEA公司的Aqualogic,DataDirect公司的DataDirect  Xquery。 1.安装datadirectxquery.jar,以得到ddxq.jar文件 要想在java中使用Xquery,则需要有XQJ。因此需要下载datadi

流浪的虾壳 3070

脑机接口中的视觉信号解码:原理、技术与应用

脑机接口中的视觉信号解码:原理、技术与应用​ ,人工智能,计算机视觉,大模型,AI,脑机接口(Brain - Computer Interface,BCI)作为一种革命性的技术,致力于搭建人脑与外部设备之间的直接通信桥梁,绕开传统的神经肌肉输出通路。其核心目标是解读大脑活动产生的信号,从而实现对外部设备的精准控制或信息交互。在众多脑机接口研究方向中,视觉信号解码因其独特的优势和广泛的应用前景,吸引了大量科研人员的关注。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

java使用xquery,我想在Java中使用XQuery For Xml处理

I want to use XQuery for fetching data from Xml in java, but I am not getting which Jar I need to add for this. I searched in google lot but haven't got any useful example. For example I got following...

weixin_42703843的博客 337

SAP MM模块后续借记、后续贷记、贷方凭证简介

在SAP系统中,后续借记、后续贷记和贷方凭证是处理供应商发票、采购和付款过程中常见的财务交易。

我小时候很黑的博客 3269

SOI LDMOS器件的Sentaurus TCAD建模与关键电学特性仿真研究

本文研究了SOI LDMOS器件的TCAD建模与电学特性仿真。通过Sentaurus TCAD平台建立了单RESURF结构的SOI LDMOS模型,详细阐述了器件结构原理和RESURF耐压机制。研究采用SDE进行几何定义和掺杂配置,在Sentaurus Device中构建了完整的物理模型体系,包括迁移率、复合和碰撞电离模型。通过系统仿真提取了器件的转移特性、输出特性和击穿特性等关键参数,分析了各参数对性能的影响规律。研究结果为功率半导体器件的仿真建模提供了规范化参考,有助于优化SOI LDMOS的性能设计。

huanghm88的专栏 134

在 Java 环境中使用 XQuery,在 Java 应用程序中使用 XQuery 搜索文档

SQL 数据库、XML 数据和查询虽然编程领域 — 特别是 Java 编程 — 不断发展,可供选择的标准的数量也在增长。换句话说,越来越多的 API 得到 Sun 的认可或者批准。标准化的结果是越来越多的开发者背弃了自己最具竞争力的技术,而去学习新技术。要掌握的最有吸引力和价值的是那些和数据处理有关的工具和 API。无论应用程序多么酷或者智能,说到底只有能够处理数据才有用。同时,虽然 AP

1252

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java 基础之 XQuery:强大的 XML 查询语言

XQuery 是一种函数式语言,专门用于检索以 XML 格式存储的信息。它负责从 XML 文档中查找和提取元素及属性,在网络服务中有着广泛的应用,比如提取信息、生成摘要报告、进行数据转换等。XQuery 是 W3C 设计的一种针对于 XML 的查询语言,类似于 SQL 对数据库的作用,能够筛选出 XML 的子集,并进行分组、排序、计算等,功能非常强大。主流编程语言、关系数据库均提供了部分(完全)的支持,为处理 XML 数据提供了一种新的思路。

qq_25699299的博客 1514

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java executexquery_java中使用xQuery

一、使用eclipse新建一个java project二、把saxon的jar包放入classpath(我用的jar包是saxon9ee.jar)三、新建package,然后新建一个xml文件(cd_catalog.xml),其内容如下:Empire BurlesqueBob DylanUSAColumbia10.901985Hide your heartBonnie TylerUKCBS Rec...

weixin_30866939的博客 205

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

oracle xquery for hadoop,I want to use XQuery For Xml processing in java

问题I want to use XQuery for fetching data from Xml in java, but I am not getting which Jar I need to add for this. I searched in google lot but haven't got any useful example. For example I got followi...

weixin_32302013的博客 166

如何在java程序中使用Xquery----datadirectxquery.jar

1.安装datadirectxquery.jar,以得到ddxq.jar文件 要想在java中使用Xquery,则需要有XQJ。因此需要下载datadirectxquery.jar,此jar文件在我的个人资源有分享。下载后在cmd中运行 jar xvf datadirectx

lxinchang2008的专栏 1322

java executexquery_第一个在java中使用xquery的例子

import java.io.IOException;import java.util.Properties;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;im...

weixin_31129821的博客 201

java使用xquery_我想在java中使用XQuery For Xml处理

好吧,有另一种方法来获取所需的 JARS ,你不需要为此安装oracle数据库 . 我在这个链接中找到了解决方案,但是你不需要经历整个链接,需要注意的是,所有必要的 JARS 都可以从Oracle XQuery for Hadoop实现获得 .这是链接,只需下载 Oracle XQuery for Hadoop 4.1.0 并使用路径中的库提取并创建一个普通的Java Project .我从你的链...

weixin_34900419的博客 261
上一篇: XQuery基本介绍
下一篇: Axis,axis2,Xfire以及cxf对比
普通网友
博客等级 码龄15年 4粉丝 0原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值