java 笔试题 xml 整理Java --XML1、xml 有哪些解析技术?区别是什么?答:有 DOM,SAX,STAX 等DOM:处理大型文献时其性能下降的非常厉害。这个问题是由 DOM 的树构造所导致的,这种构造占用的内存较多,并且 DOM 必须在解析文献之前把整个文档装入内存,适合对 XML 的随机访问 SAX:不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它次序读取 XML 文献,不需要一次所有装载整个文献。当遇到像文献开头,文档结束,或者标签开头与标签结束时,它会触发一种事件,顾客通过在其回调事件中写入处理代码来处理 XML 文献,适合对 XML 的次序访问STAX:Streaming API for XML (StAX)讲解这些区别是不需要尤其去比较,就像说传智播客与其他培训机构的区别时,我们只需说清晰传智播客有什么特点和长处就行了,这就已经间接回答了彼此的区别。 2、你在项目中用到了 xml 技术的哪些方面?怎样实现的?答:用到了数据存贮,信息配置两方面。在做数据互换平台时,将不能数据源的数据组装成 XML 文献,然后将 XML 文献压缩打包加密后通过网络传送给接受者,接受解密与解压缩后再同 XML 文献中还原有关信息进行处理。在做软件配置时,运用 XML 可以很以便的进行,软件的多种配置参数都存贮在 XML文献中。3、用 jdom 解析 xml 文献时怎样处理中文问题?怎样解析?答:看如下代码,用编码方式加以处理package test; import java.io.*; public class DOMTest { private String inFile = "c:\\people.xml" private String outFile = "c:\\people.xml" public static void main(String args[]) { new DOMTest(); } public DOMTest() { try { javax.xml.parsers.DocumentBuilder builder =javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();org.w3c.dom.Document doc = builder.newDocument(); org.w3c.dom.Element root = doc.createElement("老师");org.w3c.dom.Element wang = doc.createElement("王");org.w3c.dom.Element liu = doc.createElement("刘");wang.appendChild(doc.createTextNode("我是王老师"));root.appendChild(wang); doc.appendChild(root); javax.xml.transform.Transformer transformer = javax.xml.transform.TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(javax.xml.transform.OutputKe...