您好,欢迎访问三七文档
Java解析xml1、XML:可扩展的标记语言(1)标签可以自定义(2)标签必须成对出现(3)标签具有明显的层次结构(一个XML文档就是一个树形结构)2、XML的主要作用(1)作为配置文件:例如web.xml,server.xml等(2)作为网络中不同系统之间的数据传输的介质3、解析和创建XML的必要性如果不同的系统之间需要相互交换数据的话,必须约定一种数据传输的格式,以便两个系统之间能够看得懂交互的数据——XML就是一种解决方案。因此发送方需要按照约定的格式将数据封装到XML文档中之后发送给接收方;接收方接收到数据之后需要将XML文档中的数据解析出来用在自己的系统中。4、DOM解析XML:JDK提供一种解析XML文档的技术(1)主要的涉及的接口和类DocumentBuilderFactory:DOM解析器DocumentBuilder的创建工厂DocumentBuilder:DOM解析器Document:文档对象,一个Document对象代表一个XML文档;Node:XML文档中节点的接口,一个Node对象代表一个XML文档中的元素(节点)NodeList:指定Node节点的所有子节点的集合Element:Node的子类,表示XML文档中的标签元素(2)DOM解析XML的步骤a、创建DOM解析器的工厂对象DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();b、创建XMLJ解析器DocumentBuilderbuilder=factory.newDocumentBuilder();c、得到需要被解析的XML文档的输入流InputStreamis=newFileInputStream(“url”);d、通过XML解析器将XML文档输入流转换成XML文档对象Documentdoc=builder.parse(is);e、获取根节点Elementroot=doc.getDocumentElement();f、获取子节点NodeListnodeList=root.getChildNodes();g、得到节点的属性node.getAttributes().getNamedItem(“attrName”).getNodeValue();5、DOM动态生成XML:JDK提供一种生成XML文档的技术(1)主要用到的接口和类TransformerFactory:XML转换器的创建工厂Transformer:XML转换器(2)DOM动态生成XML的步骤a、创建Document对象:将需要传输的数据封装在一个文档对象中//文档创建工厂DocumentBuilderFactorybuilderFac=DocumentBuilderFactory.newInstance();//文档创建工具DocumentBuilderbuilder=builderFac.newDocumentBuilder();Documentdoc=builder.newDocument();b、创建XML转换器的创建工厂TransformerFactoryfactory=TransformerFactory.newInstance();c、创建XML转换器Transformertransformer=factory.newTransformer();d、创建XML数据源对象DOMSourcedomSource=newDOMSource(doc);e、创建输出目标XML文档的输出流对象Filefile=newFile(“url”);FileOutputStreamos=newFileOutputStream(file);StreamResultxmlResult=newStreamResult(os);f、通过XML转换器将数据源对象动态生成到目标XML文档的输出流对象中Transformer.transform(domSource,xmlResult);6、JDOM(1)一个专门为Java程序解析XML提供服务的Java插件(2)比dom技术跟节约内存开销(3)提供了更加简单和逻辑性更强的访问XML文档的方法7、JDOM中主要的类和接口Document:文档对象,一个Document对象代表一个XML对象Element:元素对象,一个Element对象代表一个XML节点Attribute:属性对象,一个Attribute对象代表一个XML节点的属性Comment:注释对象DOMBuilder/SAXBuilder:XML文档对象创建器,后者效率更高XMLOutputter:XML输出对象Format:XML文档格式,可以定义特殊的XML文档输出格式8、JDOM解析XML的步骤(1)实例化一个XML解析对象SAXBuilderbuilder=newSAXBuilder();(2)解析XML文档Documentdoc=builder.build(url);(3)遍历XML文档对象Elementroot=doc.getRootElement();9、JDOM动态生成XML的步骤(1)创建根节点,挂接子节点Elementroot=newElement(“name”);(2)创建文档对象Documentdoc=newDocument(root);(3)创建格式化器【可选】Formatformat=Format.getCompactFormat();format.setEncoding(“utf-8”);format.setIndent(“”);(4)创建XML文档输出器XMLOutputterxmlOut=newXMLOutputter(format);(5)输出XML文档xmlOut.output(doc,newFileOutputStream(url));
本文标题:第一章解析xml
链接地址:https://www.777doc.com/doc-2116365 .html