在JAVA解析XML中,是把XML当做一棵树来处理的,每个节点有自己的内容,有自己的子结点。但是我最近想起前些日子用ibatis的过程中碰到的配置文件,简略写如下:
<select id="querySecMsgs" resultMap="msgResult" parameterClass="map">
        select msg_id, msg_type,type_name,msg_name, msg_desc
        from sec_msg
        <dynamic prepend="where">
            <isNotNull property="msg_desc" prepend="AND">
                msg_desc like #msg_desc#
            </isNotNull>
        </dynamic>
        ORDER BY TYPE_NAME
    </select>
可以看到,内容是一个SQL语句,但是在内容的中间还有自己的子结点,这个是怎么解析的?怎么判断这个子结点(DYNAMIC结点)的位置?怎么判断子结点前面的内容和后面的内容?