00:00
好来,我们就去写一个X文件啊,那么我们就把它写到写到什么地方呢?呃,我来看看啊,我们就把它写到这个啊,写到哪啊,写到这个src下面。我看一下啊,呃,我们在解析的时候呢,我们会用到一个叫做什么呃萨斯reader啊,就是我们会用到这个萨斯reader,然后呢,把它解析成一个什么倒数哈,然后解析的时候呢,我们不要去给它指定成一个xman文件,那么我们就暂时呢,先把这个xman文件呢给它写出来,好吧,呃,写到什么地方呢?呃,那我就把它写到这个,写到这个先写到我们的这个,直接写到这个项目下面吧,好吧,哎,我直接把它写到什么,写到我这个WEB03下面啊,就是不在这个web counter下面,我直接写到这个WEB03下面,我去一个。叫做X文件看到了吧,啊,这个还找不到是吧?嗯,X在哪啊,在这个加一里面没有是吧?在。
01:10
在哪啊,在这是吧,有一个X fair看到没有对吧,我自己来去有一个啊X来下一步,比如说呢,我就叫什么呀,我就叫做这个,呃,随便叫吧,好吧,啊,我们就叫做。啊,就叫student吧,好,Student检查秒可以吧,就叫它吧哈,来下一步,然后呢,创建一个s well的这个文件啊,使用一个呃,S well的一个什么模板啊来下一步分女去创建出来以后呢,它就只有这么一个东西,然后现在呢,我们没有任何的这个约束,所以说这里面东西你是可以啊随便进行编写的,比如说我就写一个students对吧,这个是我写了一个跟标记,给大家解释一下,这是我们的跟标记,好只能有一个跟标镜啊根啊,不是这个根好跟标,然后在这里面的话呢,我们就可以尝试的去写一个什么东西了,你看哈,我写一个student,一个学生对吧,比如说诶,我认为这个学生里面呢,应该有这么几个属性啊,比如说有这个内容啊,那你就写个内容,比如说它就叫什么呀,叫啊唱,然后呢,他还得有一个什么呀,啊,有一个啊呃,再来个ID吧,啊再。
02:28
本ID,比如说ID是1001,他然后再来个真长好比如示他是一个男的对不对?好然后呢,我们再来写一个,比如说这个student好,Student ST student再来一个,那这里面的话你可以写一个什么呀,ID好,比如说1002,然后呢,再写一个name,比如说呢,叫做死对头是吧?加真的好比如说这是个女的可以吧,那么这个我们就把一个F文件写好了,那么大家来看一下,其实这个东西是不是相当于保存了一些这个结构化的一些数据啊,对吧?把这个数据保存进来以后,你可以做什么事呢?我可以把这个整个的X段文件做一个什么传输,我把你传输到这个浏览器端,或者我传输到这个别的一些什么啊程序里面,你就可以什么去解析到我这个数据。
03:17
能理解吧,好,顺带着的我再给大家去写一个,比如说我就写一个这个啊class吧,好,随便写了一个标签可以的吧,这里面的话我就写一个什么东西,你看哈,我就写一个格拉斯杠内好,那么这里面呢,我们就随便写个名字啊,比如说我就把我这个employe来CTRLC啊,不能这么CTRLC是吧,打开啊把它这个全类零呢。Copy一下传内名,我就把它什么放到这个位置,然后呢,一会儿呢,我想什么呀,我想解析到这个名字,解析到它,并且呢,通过反射的方式把它创建出来。能理解吗?就是这样的话呢,大家就能理解它这个外部的插量到底是怎么去做的啊,那接下来我们就来去解析我们这个文件啊,那这个文件怎么去解析呢?我们就创建一个呃测试方法哈,来用一个class,呃,我们直接去用一个整容器的测试类吧,都用过吧,这个好,我们写到这个test里面,比如说tests我们的X ma。
04:21
好,Finish式啊,我们加的是解米式式啊来finish式OK,那么这里面的话我们就来测试,那那这个东西怎么用呢?首先大家注意你现在我们现在讲的是这个do这种解析啊,就是给大家讲一种就行了,Do解析,所以说呢,我们需要把这个价观给它加进去,我们会用到一个找到我们这个资料啊,资料里面呢,会有一个这个do for,这那么我们把这个do for这的这个加包呢,来给大先加进来,好就加到我们这个工程下面,就是这个Li下面加到这个位置看到了吧,加进来以后的话呢,我们在这个地方就会什么呢?诶先拿到我们的一个什么解析题对象,你看一下就是我们的萨斯啊,创建我们的解析题对象,来创建我们的解析器对象啊,那就是我们的啊s reader好,大家不要导出包啊到里面的,然后呢啊等于一个好像导出了是吧。
05:21
来用一个这个ROK啊就是它,然后呢啊把它溜出来以后呢,注意了,我们就需要什么呀,来把一个什么呀,把一个XL软件。XL文件解析成什么呀?哎,解析成一个什么倒数,那么这个怎么解析呢?注意它就是我们通过reader呢去有一个叫做什么呀,你看看哈,有一个什么方法呢,叫做啊read方法,然后呢,把你这个文件传进去啊来看一下怎么写呢?Reader讲read,然后你在read的时候呢,大家注意这里面有好几种方式,你看到没有,你可以传一个file文件,对吧,你可以传一个a input source,可以传一个流,可以传一个reader,可以传一个字符串,然后呢,可以传一个UU啊对不对,那现在我们将放到这个地方,我应该怎么读啊,那我直接写一个妙行不行,直接写他行不行,那比如说呢,我们就拿到我这个,它读进来以后呢,就是一个do啊,就是我们的document do do吧,就是它吧。
06:29
好,导个包,导包的时候大家注意了哈,这个document我们导入是谁呢?导入是到这里面的这个document,好,然后呢,有个异常,我把这个异常的给它好认一下,好现在我们先来看一下这个道,能不能按照我们的诶想法把它拿到先来测试一下。好走一下,哎,大家来看我们现在呢。里面没有出来,这个是不是没有出来,那说明什么啊整啊报错了吧,有没有报错啊,没有报错,然后呢,也没输出来任何东西,那是什么原因啊啊那这果输出哪去了啊,这也太不科学了是吧,怎么还加这了。
07:26
这工具是不是出问题了呀,刚才看了是没有吧,突然就出来了,反应慢了,那也太慢了点了是吧,那行吧,我们现在能看到它是不是能读到的呀,是不是有一个这个word,这个document呀,OK,好,那么解析到以后呢,大家注意哈,现在呢,它就已经把我们整个的这个XM软件呢,解析成一个什么倒数了,就这个东西,我们接下来就可以获取它的里面东西了,我们首先呢,你看如果说我想解析到它里面的具体的东西,那你就先解析到这个根节点解吧,所以说我们先获取我们的根节点怎么获取的来好来到这获取我们的根节点,根节点怎么获取啊,那就是到达get什么呀,这里面应该有个get,呃,Root element,大家来看一下,就是get一个什么root element就是获取到我们的跟元素跟节点,拿到以后呢,它就是一。
08:27
对吧,ELEMENT1就是叫做root吧,啊就叫做root,那么这就获取到我们的这个根节点了,那么获取到这个根节点以后呢,接下来你就可以获取谁了呢?根节点下面是不是有这个student了,对吧?那么你就可以获取什么了呢?你看了哈,你就可以怎么获取了呢?你来获取它的这个,呃,Root点有一个elements哎,他能拿到所有的这个一个集合,就是集合里面就是我们的element,然后呢,比如就叫什么呀啊就叫这个ES吧,ES吧。
09:04
好,打个包能看懂吗?那接下来呢,你拿到的每一个这个这个element是谁呢?就是你这个根节点下面的,比如说student student以及这个class,听懂了吧,我们可以来迭代一下哈,你看一下,呃,我就给你迭代一下,然后呢,让你去看一下这个效果就行了啊,比如说FOR1,我们来迭代它,那么每一个element我们来C次O一下,好输出谁呢?说出这个element,其实这个东西的话,我们也看不到具体的一些信息啊,大家来注意测试一下,你看到没有,是不是一个student student class啊,对吧?啊,具体的信息你还是看不到的,如果你想看到具体的信息,那么每一个element里面的有一个东西叫做什么呀?叫做element text,你通过这个方法,比如说我现在想获取我这个element里面呢,Name这个值,那么你就使用什么呀,使用这个name这个名称,你看在这里面就element text,你要获取谁的呢?我要获取name。
10:05
这个标签里面那个值,那么这样的话,大家来注意走一下,你就能拿到什么了呢?拿到每一个,你看Tom Jerry这个是没有的,那就是个now,看到了吗?能看明白吧,OK,这就过去到了,那么或者说呢,你还可以怎么做呀,你就不要这么去做了,对吧?呃,那我不这么做的话呢,我可以什么呀,你看看哈,呃,我可以来获取其中的一个怎么获取的root点,我也叫做什么呀,Element,我先获取一个element获取谁呢?比如说呢,我现在获取到想获取到我这个根节点下面的在这个位置啊,根节点下面的一个什么呀,Class,那你就把在这里面写一个什么东西啊。好,这个地方你就写一个class,那么他就帮你获取到一个什么。Element就是我们的这个class了,就获取到什么获取到这个class,诶这个节点了,获取到它以后呢,我是不是还可以再接着获取这个class内容呀,对吧,你看了哈,我再获取这个class name怎么获取呢?那就是CLS点你再获取它的element也行,或者说呢,直接获取element text也行,刚才是用过这个方法了,对吧,那我不用了,我获取谁呀,讲element,我获取class加name是不是获取到它了,它也是一个element,好比如这道什么class啊,我不能减了,是吧,Class name吧,是不是获取到了。
11:33
能看明白吗?获取到以后呢?来,我们先来输出一下,看看我获取到跟我们想的一样不一样啊,加上这个CS好来运行一下,来你看这个东西啊,我们打印的是谁啊,Class内还是这个节点吧,是不是我现在获取到了这个class内这个节点吧,对吧?那如果你想获取里面这个值的话,怎么获取呢?那你就在这边获取呗,呃,先打印它啊,然后获取值的话就是什么呀,String类型的,比如说呃,Class,呃,Class s t嘛,等于什么呀,就等于class内,它里面不就有一个get这个T嘛,就获取它里面的这个文本嘛,对不对,那我就获取到它这个class s tr,我们来输出一下,输出到这个特拉str来加上拉str能看到吗?获取到它以后呢,我们再来测试一下。
12:32
好,测试一下,那现在我们看这地方是不是把我这个东西给获取到了,对吧?那么你看一下我们这么就是一步一步的把这个里面的东西就一个一个给它解析出来,这是一个element,这是一个element,这又是一个element,你就一节一节的把它都获取到,最终获取到它的这个值,那么对于我们这个外面插包也是一样的,我先获取到你的URL拍on,对吧?我先获取到这个里面的URL拍yon做一个匹配,再获取到它,再找到它,再找到它,那么再通过反射的方式把这个对象创建出来,那么现在我们就已经拿到这个具体的一个class name了,拿到以后呢,我就可以怎么做了呢?Class加for name,我通过什么呀?把这个class s DR传进去,拿到一个class对象加new instance我这个对象是不是创建出来了,对不对,他只不过给我返回一个什么呀,哦,这值类型的,但是我知道他就是一个employ,所以说我就可以直接给他跳转一下。
13:33
好,EP这样的对象我是不是创建出来了,我给你输出一下这个E,好,大家再来看一下能不能行啊,来运行一下。好让进入你的测试,OK,我们来看这个地方,你看这个对象我是不是给你创建出来了,只不过它里面没有任何数据嘛,对不对啊,所以说呢,我们只要会了这种解析以后呢,其实将这个外部的插段放到这个地方,我自己也能把它解析出来。
14:02
对不对,那么讲这个话题的目的呢,就是想告诉大家,这个外部点XL的,你配置到这儿,它将来是要进行解析的,解析了以后我才能知道你里面有什么东西,我才能帮你去做后续的一些处理。理解了吗?OK,知道它是怎么用的了吧?好,那就行了,好,那么这就是我们对XY的一个倒for j这种方式的一个简单的一个解析,好大家下去以后,你可以尝试着把每一个这个student呢,也给他什么解析出来,那么解析出来以后呢,你可以把这几个东西呢,给它扭成一个student的一个对象就行了,好吧,你可以尝试着自己去做一做啊,OK。
我来说两句