• XML文件的读取


    <?xml version="1.0" encoding="gbk"?>			<!--设置编码格式为gbk-->
    <!DOCTYPE hostList[
    	<!ELEMENT hostList (host+)>					<!--设置文件的根节点hostList,以及子节点host,+代表可以有多个-->
    	<!ELEMENT host (id ,title,types,street,floot,price)>		<!--设置host节点下的子节点 -->
    ]>
    <hostList><!-- 必须以我们设置的规则来写xml文件不然会立即出错 -->
    	<host>
    		<id>1</id>
    		<title>洛阳出租</title>
    		<types>两室两厅</types>
    		<street>洛阳龙鳞路</street>
    		<floot>120</floot>
    		<price>2000</price>
    	</host>
    	<host>
    		<id>2</id>
    		<title>郑州出租</title>
    		<types>两室一厅</types>
    		<street>金水区</street>
    		<floot>100</floot>
    		<price>3000</price>
    	</host>
    </hostList>
    

      解析xml文件

    package test;
    
    import java.io.IOException;
    
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    
    
    public class Text {
    	public static void main(String[] args) {
    		
    		try {
    			DocumentBuilderFactory builderfactory=DocumentBuilderFactory.newInstance();//创建解析器的工厂
    			DocumentBuilder builder= builderfactory.newDocumentBuilder();//创建解析器对象
    			try {
    				Document document=builder.parse("WebRoot/HostList.xml");//获取到xml文件,并解析xml文件
    				NodeList nodelist=document.getElementsByTagName("host");//获取到所有的子节点“host”
    				for (int i = 0; i < nodelist.getLength(); i++) {
    					
    					Node hoselist =nodelist.item(i);//获取单个host节点
    					NodeList childList=hoselist.getChildNodes();//获取host节点下的所有节点
    					for (int j = 0; j < childList.getLength(); j++) {//循环读取所有的节点
    						Node subNode=childList.item(j);//获取host节点下的某个节点
    						if(subNode.getNodeType()==Node.ELEMENT_NODE)//判断元素是否为节点元素
    						{
    							String name=subNode.getNodeName();//获取节点名字
    							String valu=subNode.getFirstChild().getNodeValue();//获取节点下的value值
    							System.out.println(name+":"+valu);//输出
    						}
    					}
    				}
    				System.out.println();
    			} catch (SAXException e) {
    				
    				e.printStackTrace();
    			} catch (IOException e) {
    	
    				e.printStackTrace();
    			}
    		} catch (ParserConfigurationException e) {
    			
    			e.printStackTrace();
    		}
    	}
    }
    

      

  • 相关阅读:
    修改了/etc/fstab之后出现登录密码输入之后又返回登录界面的问题
    设计模式 之 享元模式
    设计模式 之 组合模式
    设计模式 之 桥接模式
    设计模式 之 外观模式
    设计模式 之 代理模式
    T-SQL 理解SQL SERVER中的分区表(转)
    C# 读取文件中的sql语句 创建数据库以及表结构
    java Web 监听器Listener详解
    java Web 过滤器Filter详解
  • 原文地址:https://www.cnblogs.com/lizanqirxx/p/6241069.html
Copyright © 2020-2023  润新知