XML文件读取

前端之家收集整理的这篇文章主要介绍了XML文件读取前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

之前写过一个读取xml文件文章,是通过w3c.dom.Document,为此还特意比较了 *.properties*.xml的区别。也是因为当时的抽象,给现在省去了好多麻烦,因为小编一直在持续不断地调用别人的接口,也偶尔给别人提供几个接口,日子过得倒也丰富……最近一个接口是用xml传输的,但不是写到一个xml文件中,而是拼接xml字符串,然后再通过SAX解析器使用InputSource对象读取XML……具体见代码

//xml文件读取
public class xmlReaderTest {
	    public List xmlElements(String xmlDoc) {
		        //创建一个新的字符串
		        StringReader read = new StringReader(xmlDoc);
		        //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
		        InputSource source = new InputSource(read);
		        //创建一个新的SAXBuilder
		        SAXBuilder sb = new SAXBuilder();
		        try {
		            //通过输入源构造一个Document
		            Document doc = sb.build(source);
		            //取的根元素
		            Element root = doc.getRootElement();
		            System.out.println(root.getName());//输出根元素的名称(测试)
		            //得到根元素所有子元素的集合
		            List jiedian = root.getChildren();
		            //获得XML中的命名空间(XML中未定义可不写)
		            Namespace ns = root.getNamespace();
		            Element et = null;
		            for(int i=0;i<jiedian.size();i++){
		                et = (Element) jiedian.get(i);//循环依次得到子元素
		
		                System.out.println(et.getChild("users_id",ns).getText());
		                System.out.println(et.getChild("users_address",ns).getText());
		            }
		
		            et = (Element) jiedian.get(0);
		            List zjiedian = et.getChildren();
		            for(int j=0;j<zjiedian.size();j++){
		                Element xet = (Element) zjiedian.get(j);
		                System.out.println(xet.getName());
		            }
		        } catch (JDOMException e) {
		            e.printStackTrace();
		        } catch (IOException e) {
		            e.printStackTrace();
		        }
		        return null;
	    }

	public static void main(String[] args){
	        xmlReaderTest doc = new xmlReaderTest();
	          //拼接一个xml字符串
	        StringBuilder sbody = new StringBuilder();
	        sbody.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
	        sbody.append("<BODY>");
	        sbody.append("<ECCODE>");
	        sbody.append("2aettgdg");
	        sbody.append("</ECCODE>");
	        sbody.append("<PHONE>");
	        sbody.append("187XXXXXXXX");
	        sbody.append("</PHONE>");
	        sbody.append("<VOLUME>");
	        sbody.append("10M");
	        sbody.append("</VOLUME>");
	        sbody.append("</BODY>");
	
	        String body = sbody.toString();
	        doc.xmlElements(body);
	        System.out.println(doc.xmlElements(body));
	}
}


也是因为XML让我知道原来双方互调接口,会有这么多事儿,这么多的规则,而且自己想要定义什么样的协议就定义什么样的协议,不管什么样的协议,都是为了更好的更安全的来达到双赢的效果……

原文链接:https://www.f2er.com/xml/295512.html

猜你在找的XML相关文章