android学习札记第8章之XML及处理XML解析和创建

2025-10-19 04:28:23

1、定义(定义好后可使用快捷键):

在文档类型定义在一个领域内,由组织、企业、技术领域,指定的XML规范。

<!DOCTYPE 根标签 [

<![CDATA[对根标签和内部所有标签进行定义]]>

<!ELEMENT 元素 (属性,属性...)>

<!ELEMENT 元素 (#PCDATA)>

<!ATTLIST 元素

属性 CDATA #REQUIRED

属性 CDATA #IMPLIED

>

] >

android学习札记第8章之XML及处理XML解析和创建

2、引用:

系统内部规范:<!DOCTYPE 根元素 SYSTEM "dtd文件">、在dtd文件中只插入<!DOCTYPE 根标签 [] >之间的内容。

对当前软件系统公开统一的规范:<!DOCTYPE email PUBLIC "本地定位符" "http://.../email.dtd"。

android学习札记第8章之XML及处理XML解析和创建

android学习札记第8章之XML及处理XML解析和创建

1、SAX:

㈠SaxParserFactory

负责创建Sax解析器的工厂(需要先建立工厂,再建立解析器。)

㈡SaxParser

Sax解析器,用来解析xml文档

㈢DefaultHandler

解析过程中,用来处理从xml提取出来的数据(xml中从头到尾提取数据)

android学习札记第8章之XML及处理XML解析和创建

android学习札记第8章之XML及处理XML解析和创建

2、DOM4J:

①第三方解析XML开发包,在内存中生成一个树状结构,API参考官方文档。

②XPath

用路径的形式来表示数据的位置

/email/to/to-email:定位到to-email

/email/body:定位到body

/email/@date:定位到属性date

/email//to-email:定位到email下所有的to-email

//to-email:定位到根下的to-email

③Node

|——Document

|——Element

|——Text

|——Attribute

|——Comment

|——CDSect

④创建树

Document doc=DocumentHelper.createDocument();//创建树根

XMLWriter writer=new XMLWriter(输出流out,格式控制工具format);

out=FileOutputStream();

OutputFormat format=OutputFormat.createCompactFormat();//压缩格式

OutputFormat format=OutputFormat.createPrettyPrint();//有换行格式

format.setEoding("utf-8");

…………

android学习札记第8章之XML及处理XML解析和创建

android学习札记第8章之XML及处理XML解析和创建

android学习札记第8章之XML及处理XML解析和创建

android学习札记第8章之XML及处理XML解析和创建

3、XML PULL:(需要新建android项目)

①概述,第三方开源API,已经集成到android开发包中。

XmlPullParserFactory

Xml:辅助类

XmlPullParser

XmlSerializer

②使用方法

Ⅰ、XmlPullParserFactory

A、负责创建解析器和序列化器的工厂类

B、创建对象:

XmlPullParserFactory f=XmlPullParserFactory.newInstance();

C、方法:

newPullParser():创建解析器

newSerializer():创建序列化器

Ⅱ、Xml

Xml.newPullParser():创建解析器,解析XML

Xml.newSerializer():创建序列化器,生成XML

③XmlPullParser解析器:

setInput(Reader in):设置输入流。

setInput(InputStream in,String charset):设置输入流并指定字符编码。

next():跳到下一段,返回int数字代码,表示跳到的数据类型,结束之后,再向回跳,返回。

XmlPullParser.END_DOCUMENT==1。

getEventType():获得当前的位置数据类型的代码。

getName():数据类型是XmlPullParser.START_TAG、XmlPullParser.END_TAG时,在开始标签和结束标签上,获得标签名。

getText():数据类型是:XmlPullParser.TEXT时,如果当前位置是文本数据,用这个方法,可以去除文本内容。

getAttributeCount():获得属性的数量。

getAttributeName():获得属性名。

getAttributeValue():获得属性值。

getAttributeValue(命名空间,属性名):命名空间,属性名:获得指定属性名称对应的值。

④XmlSerializer生成XML:向用户申请外部存储权限:WRITE_EXTERNAL_STORAGE

setOutput(Writer out):设置输出流。

setOutput(Writer out,编码):设置输出流并指定字符编码。

startDocument(编码,是否是独立文件):输出头标签,true表示不依赖其他文档。

startTag():输出开始标签。

attribute():输出属性。

text():输出文本。

endTag():输出结束标签。

android学习札记第8章之XML及处理XML解析和创建

android学习札记第8章之XML及处理XML解析和创建

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢