在android系统或者Web中,很多资源文件中,很多都是xml格式,在android系统中解析这些xml的方式,是使用pul解析器进行解析的,当pull解析器,开始解析之后,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),当处于某个元素时可以调用XmlPullParser的getAttributte()方法来获取属性的值,也可调用它的nextText()获取本节点的值。
对xml解析之前需要先导入一个kxml的jar包
package cn.itcast.tool; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; import cn.itcast.bean.Student; public class PullTool { //使用pull解析 public static List<Student> parserXml(InputStream is) throws Exception{ //0 List<Student> list =null; Student stu = null; //1 创建解析工厂 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); //2 使用工厂获得解析器 XmlPullParser parser = factory.newPullParser(); //3 使用解析器获得xml流 parser.setInput(is, "UTF-8"); //4 获得当前事件的状态 int type = parser.getEventType(); //判断当前是否结束 while(type != XmlPullParser.END_DOCUMENT){ switch (type) { case XmlPullParser.START_TAG: //判断如果是students事件 if("students".equals(parser.getName())){ list = new ArrayList<Student>(); }else if("student".equals(parser.getName())){ //初始化student事件 stu = new Student(); String number = parser.getAttributeValue(null,"number"); stu.setNumber(number); }else if("name".equals(parser.getName())){ String name = parser.nextText(); stu.setName(name); }else if("sex".equals(parser.getName())){ String sex = parser.nextText(); stu.setSex(sex); }else if("age".equals(parser.getName())){ int age = Integer.parseInt(parser.nextText()); stu.setAge(age); } break; case XmlPullParser.END_TAG: if("student".equals(parser.getName())){ list.add(stu); stu = null; } break; default: break; } //让解析器解析下一行 type = parser.next(); } return list; } public static void main(String[] args) throws Exception { FileInputStream is = new FileInputStream("src/stu.xml"); List<Student> list = PullTool.parserXml(is); System.out.println(list); is.close(); } }
输出结果:[Student [number=itcast_0001, name=tom, sex=male, age=18], Student [number=itcast_0002, name=jerry, sex=male, age=16]]下面是被解析的xml文档stu.xml
<?xml version="1.0" encoding="UTF-8" ?> <students> <student number="itcast_0001" > <name>tom</name> <sex>male</sex> <age>18</age> </student> <student number="itcast_0002" > <name>jerry</name> <sex>male</sex> <age>16</age> </student> </students>
Tomcat主要目录结构:
bin:二进制可执行文件,包含启动和关闭tomcat文件;
conf:配置文件,其中包含了server.xml、context.xml、web.xml等;
webapps:存放应用程序的目录
tomcat与myeclipse的整合
整合之后就不用配置环境变量
直接在MyEclipse中打开或者重启Tomcat
创建JavaWeb应用程序流程:
1. 创建web项目目录
2. 设计web项目目录结构
3. 编写web项目代码
4. 部署web项目到Tomcat的webapps目录下
5. 运行web项目