- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
九XMLjava面试题
九、XML基础知识
1、xml有哪些解析技术?区别是什么?
答:有DOM,SAX,STAX等
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问.
SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问
STAX:Streaming API for XML StAX 这是一种针对XML的流式拉分析API。使用STAX,你可以推迟分析-在分析时跳过元素并且分析多个文档。在使用DOM API的时候,你必须把整个的XML文档分析成一棵DOM结构,这样也就降低了分析效率。而借助于STAX,在分析XML文档时生成分析事件。
2、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
a: 两种形式 dtd schema;
b: 本质区别:
1 .XML Schema是一种内容“开放”的模型,可扩展、功能强,而DTD是内容“封闭”的
模型,可扩展性差;
2 .XML Schema支持丰富的数据类型,其中Schema中共有23种扩展数据类型,完全能够满足网络应用特别是电子商务的需求,而DTD不支持元素的数据类型,对于属性的类型定义也很有限;
3 .XML Schema支持名称空间机制,DTD不支持;
4 .XML Schema可以针对不同情况分别对整个XML文档或者是文档局部进行验证,而DTD缺乏这种灵活性;
5 .XML Schema的语法完全遵循XML规范,可以和DOM技术结合使用,功能强大,
而DTD语法自成一体,比较难以学习。
6. Schema的基本元素有八个,他们分别是 、 、 、 、 、
、 和 。这些元素对XML中允许的语法和结构进行了定义。注意:必须在使用Schema前对这些元素进行定义。
总之,schema本身是xml的,可以被XML解析器解析 这也是从DTD上发展schema的根本目的 ;
c: ---本文档中已存在该答案,此处略
3、你在项目中用到了xml技术的哪些方面?如何实现的?
答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理;在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。
4、用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.OutputKeys.ENCODIN
原创力文档


文档评论(0)