type
status
date
slug
summary
tags
category
icon
password

xml文件

实际为一个树
notion image

mybatis配置文件

mybatis映射文件

XPath

结点选取

notion image
member
选取member结点所有子元素
/member
member根元素
/member/user
所有user子元素
member//user
所有user后代
@type
type属性

谓词

/member/user[1]
user子元素的第一个元素
/user/*[1]
user的第一个元素
user/id[last()]
user的最后一个元素
user[id > 1]
大于1的所有元素

解析和对象转换

mybatis文件解析

notion image

XPathParser

 
 
  • 核心方法
大量重载方法都调用到这个方法
 

XNode

字符串(参数)解析

  • XpathParser#evalSting
  • PropertyParser
 
notion image
  • PropertyParser#pare
  • VariableTokenHandler
作为TokenHandler的实现,尝试variables中解析键值,并支持默认值相关处理
  • VariableTokenHandler#handleToken
  • GenericTokenParser
此类应用是风广泛,不光是XML解析,SQL中的占位符也是依靠它完成
  • GenericTokenParser#parse

配置文件校验DTD

XML校验约束并不是一定都能从网络获取,有可能在无网络运行mybatis,也可通过本地获取