依照惯例,先罗列下成员变量:
field.png
这个时候肯定会想是怎么用的,那就先看看构造方法。
constructor.png
看到内部的node、variables和xpathParser是直接外部传入,name是取得node的名称,那就需要看下接下来的两个赋值方法:parseAttributes、parseBody。
parseAttributes.png
这个方法解析某个节点的属性。通过调用获得当前节点下所有属性的map集合。然后迭代他得到一个属性名和属性值对应的properties。(这里需要了解下PropertyParser是怎么样将属性值进行转换的http://www.jianshu.com/p/3385d6e9cde5)
再另外一个方法
parseBody.png
逻辑应该不难理解,就是要找到node节点下的data,具体是要什么样的data就要看getBodyData
getBodyData.png
最后一个方法,好像也蛮短的,读了就是要取到cdata数据或者就是text_node的数据。另外这里会将data数据进行转换。
剩下的方法先不看了,按照名称大概也能猜到做什么的了