Android中创建与几种解析xml的方法Word文件下载.docx

上传人:b****6 文档编号:21124266 上传时间:2023-01-27 格式:DOCX 页数:11 大小:250.88KB
下载 相关 举报
Android中创建与几种解析xml的方法Word文件下载.docx_第1页
第1页 / 共11页
Android中创建与几种解析xml的方法Word文件下载.docx_第2页
第2页 / 共11页
Android中创建与几种解析xml的方法Word文件下载.docx_第3页
第3页 / 共11页
Android中创建与几种解析xml的方法Word文件下载.docx_第4页
第4页 / 共11页
Android中创建与几种解析xml的方法Word文件下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Android中创建与几种解析xml的方法Word文件下载.docx

《Android中创建与几种解析xml的方法Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android中创建与几种解析xml的方法Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。

Android中创建与几种解析xml的方法Word文件下载.docx

id="

@+id/btn1"

9.android:

10.android:

wrap_content"

11.android:

text="

创建XML文件"

12./>

13.<

14.android:

@+id/btn2"

15.android:

16.android:

17.android:

DOM解析XML"

18./>

19.<

20.android:

@+id/btn3"

21.android:

22.android:

23.android:

XmlPullParse解析XML"

24./>

25.<

TextView

26.android:

@+id/result"

27.android:

28.android:

29./>

30.<

/LinearLayout>

第三步:

修改主核心程序XmlDemo.java,代码如下:

1.packagecom.tutor.xml;

2.importjava.io.File;

3.importjava.io.FileNotFoundException;

4.importjava.io.FileOutputStream;

5.importjava.io.IOException;

6.importjavax.xml.parsers.DocumentBuilder;

7.importjavax.xml.parsers.DocumentBuilderFactory;

8.importjavax.xml.parsers.ParserConfigurationException;

9.importorg.w3c.dom.Document;

10.importorg.w3c.dom.Element;

11.importorg.w3c.dom.NodeList;

12.importorg.xml.sax.SAXException;

13.importorg.xmlpull.v1.XmlPullParser;

14.importorg.xmlpull.v1.XmlPullParserException;

15.importorg.xmlpull.v1.XmlPullParserFactory;

16.importorg.xmlpull.v1.XmlSerializer;

17.importandroid.app.Activity;

18.importandroid.os.Bundle;

19.importandroid.util.Log;

20.importandroid.util.Xml;

21.importandroid.view.View;

22.importandroid.view.View.OnClickListener;

23.importandroid.widget.Button;

24.importandroid.widget.TextView;

25.importandroid.widget.Toast;

26.publicclassXmlDemoextendsActivityimplementsOnClickListener{

27.

28.privatestaticfinalStringBOOKS_PATH="

/sdcard/books.xml"

;

29.privateButtonmButton1,mButton2,mButton3;

30.privateTextViewmTextView;

31.@Override

32.publicvoidonCreate(BundlesavedInstanceState){

33.super.onCreate(savedInstanceState);

34.setContentView(R.layout.main);

35.setupViews();

36.}

37.//初始化工作

38.privatevoidsetupViews(){

39.mTextView=(TextView)findViewById(R.id.result);

40.mButton1=(Button)findViewById(R.id.btn1);

41.mButton2=(Button)findViewById(R.id.btn2);

42.mButton3=(Button)findViewById(R.id.btn3);

43.mButton1.setOnClickListener(this);

44.mButton2.setOnClickListener(this);

45.mButton3.setOnClickListener(this);

46.}

47.//创建xml文件

48.privatevoidcreateXmlFile(){

49.FilelinceseFile=newFile(BOOKS_PATH);

50.try{

51.linceseFile.createNewFile();

52.}catch(IOExceptione){

53.Log.e("

IOException"

"

exceptionincreateNewFile()method"

);

54.}

55.FileOutputStreamfileos=null;

56.try{

57.fileos=newFileOutputStream(linceseFile);

58.}catch(FileNotFoundExceptione){

59.Log.e("

FileNotFoundException"

can'

tcreateFileOutputStream"

60.}

61.XmlSerializerserializer=Xml.newSerializer();

62.try{

63.serializer.setOutput(fileos,"

UTF-8"

64.serializer.startDocument(null,true);

65.serializer.startTag(null,"

books"

66.for(inti=0;

i<

3;

i++){

67.serializer.startTag(null,"

book"

68.serializer.startTag(null,"

bookname"

69.serializer.text("

Android教程"

+i);

70.serializer.endTag(null,"

71.serializer.startTag(null,"

bookauthor"

72.serializer.text("

Frankie"

73.serializer.endTag(null,"

74.serializer.endTag(null,"

75.}

76.

77.serializer.endTag(null,"

78.serializer.endDocument();

79.serializer.flush();

80.fileos.close();

81.}catch(Exceptione){

82.Log.e("

Exception"

"

erroroccurredwhilecreatingxmlfile"

83.}

84.Toast.makeText(getApplicationContext(),"

创建xml文件成功!

"

Toast.LENGTH_SHORT).show();

85.}

86.//dom解析xml文件

87.privatevoiddomParseXML(){

88.Filefile=newFile(BOOKS_PATH);

89.DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();

90.DocumentBuilderdb=null;

91.try{

92.db=dbf.newDocumentBuilder();

93.}catch(ParserConfigurationExceptione){

94.e.printStackTrace();

95.}

96.Documentdoc=null;

97.try{

98.doc=db.parse(file);

99.}catch(SAXExceptione){

100.e.printStackTrace();

101.}catch(IOExceptione){

102.e.printStackTrace();

103.}

104.Elementroot=doc.getDocumentElement();

105.NodeListbooks=root.getElementsByTagName("

106.Stringres="

本结果是通过dom解析:

+"

/n"

107.for(inti=0;

books.getLength();

i++){

108.Elementbook=(Element)books.item(i);

109.Elementbookname=(Element)book.getElementsByTagName("

).item(0);

110.Elementbookauthor=(Element)book.getElementsByTagName("

111.res+="

书名:

"

+bookname.getFirstChild().getNodeValue()+"

+

112."

作者:

+bookauthor.getFirstChild().getNodeValue()+"

113.}

114.

115.mTextView.setText(res);

116.}

117.

118.//xmlPullParser解析xml文件

119.privatevoidxmlPullParseXML(){

120.Stringres="

本结果是通过XmlPullParse解析:

121.try{

122.XmlPullParserFactoryfactory=XmlPullParserFactory.newInstance();

123.XmlPullParserxmlPullParser=factory.newPullParser();

124.

125.xmlPullParser.setInput(Thread.currentThread().getContextClassLoader()

126..getResourceAsStream(BOOKS_PATH),"

127.

128.inteventType=xmlPullParser.getEventType();

129.

130.try{

131.while(eventType!

=XmlPullParser.END_DOCUMENT){

132.StringnodeName=xmlPullParser.getName();

133.switch(eventType){

134.caseXmlPullParser.START_TAG:

135.if("

.equals(nodeName)){

136.res+="

+xmlPullParser.nextText()+"

137.}elseif("

138.res+="

139.}

140.break;

141.default:

142.break;

143.}

144.eventType=xmlPullParser.next();

145.}

146.}catch(IOExceptione){

147.e.printStackTrace();

148.}

149.}catch(XmlPullParserExceptione){

150.e.printStackTrace();

151.}

152.

153.mTextView.setText(res);

154.}

155.//按钮事件响应

156.publicvoidonClick(Viewv){

157.if(v==mButton1){

158.createXmlFile();

159.}elseif(v==mButton2){

160.domParseXML();

161.}elseif(v==mButton3){

162.xmlPullParseXML();

163.}

164.}

165.}

第四步:

由于我们在Sd卡上新建了文件,需要增加权限,如下代码(第16行):

manifestxmlns:

3.package="

com.tutor.xml"

versionCode="

1"

versionName="

6.<

applicationandroid:

icon="

@drawable/icon"

android:

label="

@string/app_name"

activityandroid:

name="

.XmlDemo"

9.<

intent-filter>

10.<

actionandroid:

android.intent.action.MAIN"

/>

11.<

categoryandroid:

android.intent.category.LAUNCHER"

12.<

/intent-filter>

/activity>

14.<

/application>

15.<

uses-sdkandroid:

minSdkVersion="

7"

16.<

uses-permissionandroid:

android.permission.WRITE_EXTERNAL_STORAGE"

17.<

/manifest>

第五步:

运行上述工程,查看效果:

启动首界面:

点击创建XML文件按钮,生成books.xml文件

books.xml内容如下:

xmlversion='

1.0'

encoding='

UTF-8'

standalone='

yes'

?

books>

3.<

book>

4.<

bookname>

Android教程0<

/bookname>

5.<

bookauthor>

Frankie0<

/bookauthor>

/book>

8.<

Android教程1<

Frankie1<

Android教程2<

Frankie2<

/books>

点击DOM解析XML按钮:

点击XmlPullParse解析XML按钮:

Ok~今天就先讲到这里。

thx~

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1