XML解析
xml的用途
1、数据交互
JSON
数据交互还有一种方式是JSON
json对象:
{
id:1,name:'zs',sex:'女'}
json数组:
[{
id:1,name:'zs',sex:'女'},{
id:2,name:'zss',sex:'女'}]
json混合对象
数组里混对象
[{
id:1,name:'zs',sex:'女',children:{
{
id:3,name:'zss',sex:'女'}
}},{
id:2,name:'zsss',sex:'女'}]
对象里混数组
{
id:1,name:'zs',sex:'女',children:[
{
id:2,name:'zss',sex:'女'},
{
id:3,name:'zsss',sex:'女'}
]}
XML的体现形式
对象
<person>
<id>1</id>
<name>zs</name>
<sex>女</sex>
</person>
数组
<persons>
<person>
<id>1</id>
<name>zs</name>
<sex>女</sex>
</person>
<person>
<id>2</id>
<name>zss</name>
<sex>女</sex>
</person>
</persons>
2、做配置
例如:mvc.xml
<config>
<action name="" type="">
<forward result="">/xxx.jsp</forward>
</action>
</config>
xml的存放位置
1、src根目录下(存放在src创建的Source Folder下也相当于存放在src)
2、同包下
3、WEB-INF或者其子目录下
xml的读取方式
1、读取src根目录下的资源文件,
以pro.properties为例
代码:
//从流中获取资源
InputStream is=dome1.class.getResourceAsStream("/pro.properties");
//实例化属性文件
Properties pro=new Properties();
//加载文件
pro.load(is);
//获取属性
String name=pro.getProperty("name");
String pwd=pro.getProperty("pwd");
//打印
System.out.println("name="+name);
System.out.println("pwd="+pwd);
结果:
2、同包下读取(其实就是把‘/’去掉)
代码:
//从流中获取资源
InputStream is=dome2.class.getResourceAsStream("pro.properties");
//实例化属性文件
Properties pro=new Properties();
//加载文件
pro.load(is);
//获取属性
String name=pro.getProperty("name");
String pwd=pro.getProperty("pwd");
//打印
System.out.println("name="+name);
System.out.println("pwd="+pwd);
结果:
3、读取WEB-INF下的配置文件
代码:
配置Servlet时一定要记得在urlPatterns里加一个’/’
不然可能会出现
Server Tomcat v8.5 Server at localhost failed to start.
的bug
//配置Servlet
@WebServlet(name="domeServlet",urlPatterns="/dome")
public class DomeServlet extends HttpServlet {
@Override
protected void</