XML语言学习的心得体会

发布时间:2020-08-03编辑:脚本学堂
XML语言学习的心得体会

什么是XML即:(eXtends Markup Language) 它是Web程序员自定义的标记,只要遵寻XML规范即可;
它的适用:数据交换、WEB服务、集成、内容、管理、系统配置。
组成:序言(声明、注释、空白)和文档元素
我们为什么要用xml?
1、它自定义的标记2、xml定义一套元句法,便于程序统一解析3、xml简洁高效,是学习框架的基础。
xml的语法规则:
<?xml开始 version(排在第一位)standaloneencoding(编码方式默认Unicode也可以是(UTF-8/16、GB2312)) ?结束>
xml的注释格式为:
<!--xxxxxxxx-->它不能出现在声明内容之前
CDATA:
"<![CDATA["开始并以"]]>"结束 主要用于把整段文本的内容解释为纯文本数据 因为CDATA里都是纯字符数据,解析器不会理会它!
XML空白可以是,空格符、制表符、回车符、换行符;其中元素是XML信息内容的载体,标记一定要成对使用,嵌套要正确;
XML技术体系包括(DTD/Schema)、(XSLT/xls)、(Xpath/Xquery)、(DTD/SAX)、(XLink/XPionter)
XML定义文档:
对xml类型和数据结构的较验和解释是(DTD/Schema)
DTD定义元素、子元素、属性、其值。
定义元素(!ELENMENT 元素名元素内容)其中表达符号包括(()/|/+/*/?/,),限制元素的有:(EMPTY/ANY/#PCDATA)
DTD属性(!ATTLIST 元素名
属性名 类型 默认值>
修饰属性(CDATA/ID/IDREF/IDREF/ENTITY/ENTITYS/NMTOKE/NMTOKES/NOTATION/Enuerated #requireD/#FIXED/#IMPLIED)
DTD与XML相关连的形式
1、使用内部2、使用外部3、使用公联
空间命名:
即每一套特定应用的DTD,给它一个独一无二的标识来代表,最好用URL来作为命名空间 其格式如下:
xmlns: [前缀]=”[命名空间]“
xml Schema优点:
一、可以预先定义,元素的数据类型 二、根据预先定义的类型创建新类型三、可以分为简单(只包含字符类型)和复杂类型(有子元素或属性);
它的文档结构:
<?xml version="1.0" ?>
<xsd:schema>
.......
</xsd:schema>
XML解析文档:
分为两种:一为进行验证的(有效性和规范) 二为(只验证规范)
两种基本的解析的API(DOM/SAX)
ODM是基于树的结构 它把解析的文档全部放的内存中 不适用于大型在的文档它适用于结构上修改XML文档,在内存中与其它应用程序共享文档产时
把XML读入DOM的三个步骤:
1 获得一个新的 DocumentBuilderfactory
2 利用DocumentBuilderfactory 构建DocumentBuilder实例
3 DocumentBuilder 构建Document实例
SAX结构:
SAX解析器是使用回调机制来通知客户端应用程序 它在处理文档时不会占用大量的内存
saxd的获得解析器可以是这样的:
SAXParserFactory fact=SAXParserFactory.newinstance
newSAXParser sp=fact.newSAXParser()
InputSource in=new InputSorce(new FIleReader("xxx"))
sp.parse(in, new DefaultHander())
xml的缺点:
必须按照到达的顺序处理数据,不能顺序访问,SAX是只读的
XML的转换:
TransformerFactory tf=new TransformerFactory.newInstance();
Transformer transformer=tf.newTransformer();
transformer.Transforme(new DOMSource(doc),new StreamResult(System.out))
JODM 是一种使用XML的独特Java工具包,用于快速开发xml应用程序,是基于树结构 可以实现(解析、生成、序列化),
它就像JAVA产生对象一样创建 Document Element Attribute的实例
JODM解析xml:
实例化一个合适的解析对象 以包含XML数据有文件为参数,构建一个文档对象 获得要根元素如:
SAXBuilder doc = new SAXBuilder ();
Docment doc = sb.build("newFile.xml")
Element root=doc.getRootElement();
DOC4J创建XML:
使用DocumentHelper创建文档实例和生成XML的文档节点dom4j API工厂类
用addElement添加根元素和元素 addAttribute添加属性 setTxet设置文本用addProcessingInstruction()添加一个处理指令集
addDocType()方法添加文档类型说明
利用DOM4J还可以修改XML文件如:
SAXReader s=new SAXReader();
Document document=s.read(inputFile) ;
List list=document.selectNodes("//xxxx/xxx")
让后遍历这个集合 获得相应的值