前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 正则表达式匹配xml节点

Java 正则表达式匹配xml节点

作者头像
小贝壳
发布2020-03-05 14:50:03
1.2K0
发布2020-03-05 14:50:03
举报
文章被收录于专栏:贝塔博客

xml内容:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.test.dao.sysResourcesMapper" >
   
    <resultMap id="BaseResultMap" type="com.zh.car.entity.SysResources" >
        <id column="id" property="id"/>
        <result column="alias" property="alias" jdbcType="VARCHAR" />
        <result column="name" property="name" jdbcType="VARCHAR" />
        <result column="parent_id" property="parentId" jdbcType="VARCHAR" />
        <result column="url" property="url" jdbcType="VARCHAR" />
        <result column="sort" property="sort" jdbcType="INTEGER" />
        <result column="icon_cls" property="iconCls" jdbcType="VARCHAR" />
        <result column="rules" property="rules" jdbcType="VARCHAR" />
        <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
    </resultMap>
    <sql id="Base_Column_List" >
    id,alias,name,parent_id,url,sort,icon_cls,rules,create_time
    </sql>
</mapper>
正则表达式:Pattern pattern = Pattern.compile("<resultMap\s+id=\"BaseResultMap\"[\s\S]+?>([\s\S]+?)</resultMap>");
Matcher m = pattern.matcher(xml);
if (m.find()) {
    System.out.println(m.group());
}输出:<resultMap id="BaseResultMap" type="com.test.entity.SysResources" >
        <id column="id" property="id"/>
        <result column="alias" property="alias" jdbcType="VARCHAR" />
        <result column="name" property="name" jdbcType="VARCHAR" />
        <result column="parent_id" property="parentId" jdbcType="VARCHAR" />
        <result column="url" property="url" jdbcType="VARCHAR" />
        <result column="sort" property="sort" jdbcType="INTEGER" />
        <result column="icon_cls" property="iconCls" jdbcType="VARCHAR" />
        <result column="rules" property="rules" jdbcType="VARCHAR" />
        <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
    </resultMap>如果是要获取resultMap里面的节点:
Pattern pattern = Pattern.compile("<resultMap\s+id=\"BaseResultMap\"[\s\S]+?>([\s\S]+?)</resultMap>");
Matcher m = pattern.matcher(xml);
if (m.find()) {
    System.out.println(m.group(1));
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档