岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> 其他技术 >> Java正文
java中通过xpath处理含有命名空间
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-23 9:51:48

    声明:以下的测试是用的jdk1.4.2,xalan7.0对于如下xml文档片断:

<ML:MREML xmlns:ML="MREML">
    <EnvelopEntity>
        <EnvelopID>GUID2006102000002</EnvelopID>
        <EnvelopVersion>1.0.1R</EnvelopVersion>
        <ExchangeTime>2006-10-25 13:12:10</ExchangeTime>
        <SendFrom>
            <SFID>SOBEY_NEWS</SFID>
                           <SFDescription>SOBEY新闻系统</SFDescription>
        </SendFrom>
        <SendTo>
            <STID>DAYANG_MAM</STID>
            <STDescription>DAYANG媒资系统</STDescription>
        </SendTo>
        <Priority>2</Priority>
        <EntityInfo>
            <EntityID>REQUEST_ID_01</EntityID>
            <EntityType>4</EntityType>
        </EntityInfo>
        <EntityInfo>
            <EntityID>节目GUID</EntityID>
            <EntityType>3</EntityType>
        </EntityInfo>
        <EntityInfo>
            <EntityID>管理信息实体ID</EntityID>
            <EntityType>2</EntityType>
        </EntityInfo>
    </EnvelopEntity>
</ML:MREML >
    对于上述含有命名空间的xml文档,如果想通过xpath查找EnvelopID的值,有两种方式:1.通过利用xpath的函数local-name()

    如上述查找内容的xpath表达式可以写为://*[local-name()='MREML']/EnvelopEntity/EnvelopID/text()

    2.通过在java程序中处理上述文档的命名空间是定义的,如果要使xpath表达式能正确地被解析需要在java程序中建立起prefix和uri二者的映射关系
    public static Node parseXPath(String expression, Object obj, QName qname)
            throws Exception {
        javax.xml.xpath.XPath xpath = javax.xml.xpath.XPathFactory.newInstance().newXPath();
        xpath.setNamespaceContext(getNamespaceContext());
        if (qname.equals(XPat

[1] [2] [3] [4] [5] 下一页


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:WebSyue@163.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    bet365 传奇服务端 魔域私服 劲舞私服 传奇世界私服 bet365 传世私服 传奇世界私服