xml解析框架,这个框架也可以解析html,是我自己写的xml解析技术,花费我很多的时间,我在工厂做这个工作来维持生计↓↓↓↓↓↓↓↓
![](https://img-blog.csdnimg.cn/20200208104257196.gif)
哈哈哈,开个玩笑,下面这张图片才是我,这张图片是主管拍的
![](https://img-blog.csdnimg.cn/2020020810471232.png)
平均月工资3500。我很少接触人,高中学历,很多时候只能聊聊自己,好吧入正题
源码:https://github.com/Saber6666/xml_html首先在github下载jar包,导入到工程。 然后那怎么用呢? 简单说一下首先new这个类出来然后只需调用一个方法,就可以了。
第一个参数传递的是接口回调,第二个参数传递的是要解析的xml字符串(文本可以从手机内存、内存卡、硬盘加载进来,这里我直接写在变量里,传html字符串也可以,html也可以解析部分),只需实例化接口回调和传递要解析的字符串就可以了,解析的结果通过接口回调出来,很简单 ,这是完整的代码。
//传xml或html都可以
String xml_or_html="<!DOCTYPE html>" +
"<html>" +
"" +
"<head>" +
" <time>my</time>" +
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">" +
" <script type=\"text/javascript\">" +
" window.onload = function () {" +
" }" +
" </script>" +
" <script type=\"text/javascript\">" +
" </script>" +
"</head>" +
"<body>" +
" <p>你喜欢哪个城市?</p>" +
" <ul id=\"city\">" +
" <li id=\"bj\" name=\"BeiJing\">北京</li>" +
" <li>追梦赤子心</li>" +
" <li>のみこ - Bad Apple!!</li>" +
" <li>打上花火</li>" +
" <li>我们不一样</li>" +
" <li id=\"id\">广东雨神-广东爱情故事</li>" +
" </ul>" +
" </br></br>" +
" gender:" +
" <input checked=\"true\" type=\"radio\" name=\"gender\" value=\"male\" />动漫" +
" <input type=\"radio\" name=\"gender\" value=\"female\" />歌曲" +
" 名称:<input id=\"name\" value=\"文本框的字符串\" />" +
" <input type=\"submit\" id=\"tj\" value=\"添加\" />" +
"</body>"
Xml数据解析 xml数据解析 = new Xml数据解析();
xml数据解析.Xml解析(new Xml数据解析.解析回调() {
//开始解析的时候调用这个方法
@Override
public void 开始解析() {
sc("----------开始解析------------");
}
//这个方法是表示正在解析的标签,解析钱回调标签名称
@Override
public void 正在解析的标签(String bq) {
sc("正在解析的标签:"+bq+"\n");
}
//这个方法是表示这个标签已经解析完成了,回调它的名称
@Override
public void 解析完当前(String bq) {
sc("解析完当前:"+bq);
sc("--------------------");
}
//这个方法可以不用理会它,
@Override
public void 解析里面(String s) {
sc("--------------------");
sc("解析里面:"+s);
}
//这个方法比较重要,第一个参数是正在解析的标签名称,第二个是标签的属性和属性值,解析完成后我把它放在Map集合中,第3、4、5个参数可以不用管它,具体回调什么东西把它打印出来就明白了
@Override
public void 解析属性和属性值(String 标签名称, HashMap<String, String> 属性属性值, String 内容, String 实体内容, Xml xml) {
sc("标签名称:"+标签名称);
for(Map.Entry<String,String> entry:属性属性值.entrySet()){
sc("属性:"+entry.getKey()+"\t属性值:"+entry.getValue());
}
sc("内容:"+实体内容);
}
//解析完成会回调这个方法
@Override
public void 解析完毕() {
sc("解析完毕!");
}
}, xmlstring);
static void sc(Object o) {
System.out.println(o);
}
这个解析xml框架的优点有:
1.使用起来简单,学习时间比大多数的教程短,易理解。
2.可以解析一些html字符串。
3.解析比较全面,解析完成后可以知道标签的嵌套结构,那个标签被谁嵌套。
缺点:
1.使用的内存大
2.解析速度有点慢,相较于其它成熟的xml解析框架。
可能还有有未知的bug。