StringReader
Nest嵌套
型数据文档解析器。
综述
Nest嵌套。
标记语言(像XML
或JSON
),都是基于关键字做嵌套,来实现对数据的描述。当读取嵌套时,基于基本的规则进行入栈、出栈,可对文档结构进行正确解析。
对ML
类型的解析,首先应当基于对节点(Node
)的正确识别,而后根据 ML
类型的规则,对节点进行重新组织,规划整个节点树。本库提供的XReader
类同理,仅提供对泛XML
文档节点的识别与读取。
基本嵌套类型
-
引号嵌套(
quote
):单层嵌套,封闭左右一致,但需要识别逃逸字符,关闭嵌套时应对逃逸字忽略。嵌套标记包括单引号(')、双引号(")、撇号(`) -
Nest嵌套(
nest
):多层嵌套,类似AST,封闭左右不一致、成对。脚本类型(JSON
等)包括{}
[]
()
等。ML
主要是<>
StringReader基类
实现了脚本型嵌套读取的一些基本功能。
方法
- substr(start, size)
- substring(start, end)
- seek(offset)
- peek(size)
- read(size)
- next()
属性
- eof
- length
- status
XReader类
实现了对ML
类型标记语言的识别。
config
类的初始化配置- quotes
- nests
- escape
- quoteInNest