新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XLink, XPointer, XQuery
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XQuery/XLink/XPointer/ 』 → [原创]XQEngine的API使用方法简介 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 10758 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [原创]XQEngine的API使用方法简介 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     sharpbeans 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:61
      门派:XML.ORG.CN
      注册:2005/1/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给sharpbeans发送一个短消息 把sharpbeans加入好友 查看sharpbeans的个人资料 搜索sharpbeans在『 XQuery/XLink/XPointer/ 』的所有贴子 引用回复这个贴子 回复这个贴子 查看sharpbeans的博客楼主
    发贴心情 [原创]XQEngine的API使用方法简介

    刚学xml,用到XQEngine时,虽然会XQuery语法但不会用这个引擎,文档也不是很清楚。到网上查资料,只能找到老版本的例子,接口已经改动很多。没办法,只能自己想了,已搞定初步,现与大家分享。
    xml文件:
    books.xml

    <?xml version="1.0" encoding="gb2312"?>
    <books>
        <book id="1">
            <name>goodbook</name>
            <price>200.20</price>
        </book>
        <book id="2">
            <name>badbook</name>
            <price>100.10</price>
        </book>
    </books>

    另有查询文件query.txt

    let $book:=//book
    where $book/@id<=1
    return
     <books>
     {
      $book
     }
     </books>

    java文件testxqengine.java

    import com.fatdog.xmlEngine.XQEngine;
    import com.fatdog.xmlEngine.ResultList;
    import org.xml.sax.helpers.XMLReaderFactory;

    import java.io.PrintWriter;

    public class testxqengine {
        public static void main(String[] args)
        {
            XQEngine myengine= new XQEngine();
            try
            {
                myengine.setXMLReader(XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser"));  //用的xerces解析器
                myengine.setDocument("d:/java-procs/xmltest/data/books.xml");
                ResultList rl=myengine.setQueryFromFile("d:/java-procs/xmltest/data/query.txt");  //这里暂用绝对路径做试验
                System.out.println(rl.emitXml(true)); //这个true是让输出的xml符合一般格式的
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }
    }

    程序输出结果:

    <books><book id="1">
            <name>goodbook</name>
            <price>200.20</price>
        </book>
    <book id="2">
            <name>badbook</name>
            <price>100.10</price>
        </book>
    </books>

    这里只是给出了一个最简单的例子,复杂点的应用请查询api文档和xquery语法


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/1/22 21:10:00
     
     nude 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:73
      门派:XML.ORG.CN
      注册:2005/3/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给nude发送一个短消息 把nude加入好友 查看nude的个人资料 搜索nude在『 XQuery/XLink/XPointer/ 』的所有贴子 引用回复这个贴子 回复这个贴子 查看nude的博客2
    发贴心情 query.txt中的"where $book/@id<=1"什么意思?
    初学flwr,不懂query.txt中的"where $book/@id<=1"是什么意思?高人请指教!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/31 23:02:00
     
     lvblue 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:13
      积分:115
      门派:XML.ORG.CN
      注册:2004/12/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lvblue发送一个短消息 把lvblue加入好友 查看lvblue的个人资料 搜索lvblue在『 XQuery/XLink/XPointer/ 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lvblue的博客3
    发贴心情 
    是不是邦定的BOOK元素的ID属性<=1 阿????
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/13 9:11:00
     
     jupiterfulgur 帅哥哟,离线,有人找我吗?天蝎座1974-10-30
      
      
      等级:大一新生
      文章:6
      积分:83
      门派:XML.ORG.CN
      注册:2005/4/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jupiterfulgur发送一个短消息 把jupiterfulgur加入好友 查看jupiterfulgur的个人资料 搜索jupiterfulgur在『 XQuery/XLink/XPointer/ 』的所有贴子 访问jupiterfulgur的主页 引用回复这个贴子 回复这个贴子 查看jupiterfulgur的博客4
    发贴心情 
    楼主的输出结果好像有问题,应该是:
    <books>
       <book id="1">
            <name>goodbook</name>
            <price>200.20</price>
        </book>
    </books>

    顺便问一下,怎么发的帖子和回帖都没有发布时间啊,难道是我没看见

    ----------------------------------------------
    [img]http://wpa.qq.com/pa?p=1:38298894:1[/img][url=http://wpa.qq.com/msgrd?V=1&Uin=38298894&Site=bbs.xml.org.cn&Menu=yes]点击这里给我发消息[/url]

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/17 15:18:00
     
     tiger_zheng 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:59
      门派:XML.ORG.CN
      注册:2005/3/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tiger_zheng发送一个短消息 把tiger_zheng加入好友 查看tiger_zheng的个人资料 搜索tiger_zheng在『 XQuery/XLink/XPointer/ 』的所有贴子 引用回复这个贴子 回复这个贴子 查看tiger_zheng的博客5
    发贴心情 
    我把搂主的程序运行了一下得到的xml好像不对啊?我改了where $book/@id<=1这句得到的是相同的答案.这是怎么回事啊
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/21 17:22:00
     
     gorges 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:64
      门派:XML.ORG.CN
      注册:2004/6/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gorges发送一个短消息 把gorges加入好友 查看gorges的个人资料 搜索gorges在『 XQuery/XLink/XPointer/ 』的所有贴子 引用回复这个贴子 回复这个贴子 查看gorges的博客6
    发贴心情 
    楼主的XQuery语句有误,应该是:
    for $book in //books/book
    where $book/@id<=1
    return
    <books>
       {$book}
    </books>
    这样才会只取出需要的一条记录
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/28 22:02:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XQuery/XLink/XPointer/ 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/27 10:21:24

    本主题贴数6,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    97.656ms