search
  • Sign In
  • Sign Up
Password reset successful

Follow the proiects vou are interested in andi aet the latestnews about them taster

Home Backend Development XML/RSS Tutorial android sax creates xml file

android sax creates xml file

Feb 17, 2017 pm 03:16 PM

The first two articles briefly explain the way sax parses xml and implement the parsing function. Next use sax to create the xml file.

Specifically how to use sax to create xml, add relevant comments in the program, or directly enter the code.


package cn.com.sax;

import java.io.OutputStream;
import java.io.StringWriter;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;

import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;

import android.util.Log;

class SxaCreateXml {
	/**
	 * SAX方式生成XML
	 * 
	 * @param list
	 * @return
	 */
	public String saxToXml(OutputStream output) {
		String xmlStr = null;
		try {
			// 用来生成XML文件
			// 实现此接口的对象包含构建转换结果树所需的信息
			Result resultXml = new StreamResult(output);

			// 用来得到XML字符串形式
			// 一个字符流,可以用其回收在字符串缓冲区中的输出来构造字符串
			StringWriter writerStr = new StringWriter();
			// 构建转换结果树所需的信息。
			Result resultStr = new StreamResult(writerStr);

			// 创建SAX转换工厂
			SAXTransformerFactory sff = (SAXTransformerFactory) SAXTransformerFactory
					.newInstance();
			// 转换处理器,侦听 SAX ContentHandler
			// 解析事件,并将它们转换为结果树 Result
			TransformerHandler th = sff.newTransformerHandler();
			// 将源树转换为结果树
			Transformer transformer = th.getTransformer();
			// 设置字符编码
			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
			// 是否缩进
			transformer.setOutputProperty(OutputKeys.INDENT, "yes");

			// 设置与用于转换的此 TransformerHandler 关联的 Result
			// 注:这两个th.setResult不能同时启用
			 th.setResult(resultXml);
//			 th.setResult(resultStr);
			//创建根元素<calsses>,并设置其属性为空
			th.startDocument();
			AttributesImpl attr = new AttributesImpl();
			th.startElement("", "calsses", "calsses", attr);
			
			//创建一级子元素<group>,并设置其属性
			attr.clear();
			attr.addAttribute("","name", "name", "", "一年级");
			attr.addAttribute("","num", "num", "", "10");
			th.startElement("", "", "group", attr);
			//创建二级子元素<person>,并设置其属性
			attr.clear();
			attr.addAttribute("","name", "name", "", "小明");
			attr.addAttribute("","age", "age", "", "7");
			th.startElement("", "", "person", attr);
			//创建三级子元素<chinese>,并设置其值
			attr.clear();
			th.startElement("", "", "chinese", attr);
			th.characters("语文90".toCharArray(), 0, "语文90".length());
			th.endElement("", "", "chinese");
			//创建三级子元素<english>,并设置其值
			th.startElement("", "", "english", attr);
			th.characters("英语80".toCharArray(), 0, "英语80".length());
			th.endElement("", "", "english");
			
			th.endElement("", "", "person");
			th.endElement("", "", "group");
			th.endElement("", "calsses", "calsses");
			th.endDocument();
			xmlStr = writerStr.getBuffer().toString();
		} catch (TransformerConfigurationException e) {
			Log.e("TEST", ""+e.toString());
		} catch (SAXException e) {
			Log.e("TEST", ""+e.toString());
		} catch (Exception e) {
			Log.e("TEST", ""+e.toString());
		}
		Log.e("TEST","生成的"+xmlStr);
		return xmlStr;
	}
}


Call this method to achieve the purpose of creating an xml file.


new SxaCreateXml().saxToXml(openFileOutput("sax.xml",  Context.MODE_PRIVATE));


The generated sax.xml file is still in the data/data/cn.xxx.xxx/files folder.



<?xml version="1.0" encoding="UTF-8"?>
<calsses>
<group name="一年级" num="10">
<person name="小明" age="7">
<chinese>语文90</chinese>
<english>英语80</english>
</person>
</group>
</calsses>

The above is the content of the xml file created by android sax. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com )!




Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

ArtGPT

ArtGPT

AI image generator for creative art from text prompts.

Stock Market GPT

Stock Market GPT

AI powered investment research for smarter decisions

Popular tool

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to change the song cache directory in NetEase Cloud Music How to change the song cache directory in NetEase Cloud Music Jan 13, 2026 am 10:30 AM

In the process of using NetEase Cloud Music, you occasionally need to adjust the song cache path, for example, if the original cache location is running out of disk space, or you want to store all cached files in a designated folder. The following will give you a clear explanation on how to modify the song cache path of NetEase Cloud Music. Launch the NetEase Cloud Music App on the Android system on the mobile phone. Click the "≡" three horizontal lines icon in the upper left corner to bring up the side menu bar. Swipe to find and click "Settings" in the sidebar. After entering the settings page, locate the "Storage Path" option. The cache folder currently displayed is the cache folder in use. Click "Storage Path", and the system will bring up the local file manager, allowing you to select any folder in the built-in storage of the fuselage, or a directory in the mounted SD card. select

Where to download the latest version of iMoutai? iMoutai official app safety installation guide Where to download the latest version of iMoutai? iMoutai official app safety installation guide Jan 13, 2026 pm 04:42 PM

The official download entrance for the latest version of iMoutai v1.9.0 is the official website https://www.moutaichina.com/, which supports dual-end downloads for Android and iOS. The installation package is transmitted through SSL encryption and SHA256 verification to ensure security and trustworthiness.

What to do if the text layout of the Quark browser webpage is confusing? Quark browser page adaptation tutorial What to do if the text layout of the Quark browser webpage is confusing? Quark browser page adaptation tutorial Jan 15, 2026 pm 02:24 PM

When Quark Browser's web page layout is disordered, it can be repaired by enabling "Web Page Adaptation Optimization", disabling hardware acceleration, clearing font and CSS cache, switching the UA logo, and turning off script interception.

The Ultimate Guide to AI Photo Editing: Create Social Media Hits Easily The Ultimate Guide to AI Photo Editing: Create Social Media Hits Easily Jan 08, 2026 pm 06:54 PM

In today's age of social media, a striking photo can often determine your online presence. Do you also want to have a photo that can quickly attract attention and attract attention? Now, AI technology makes this easier than ever. This blog will give you an in-depth understanding of how to use AI tools, especially Google Gemini AI, to easily edit photos and create stunning

What to do if the cache of Zeus Browser takes up too much? Clean the cache of Zeus Browser What to do if the cache of Zeus Browser takes up too much? Clean the cache of Zeus Browser Jan 10, 2026 pm 12:36 PM

Zeus Browser runs slowly, the page loads abnormally, or a large amount of storage space is occupied, which is probably caused by the backlog of cache files. It can be cleaned through five methods: the main interface shortcut entry, privacy settings, traffic consumption module, system-level shortcut keys, or manually deleting the local cache directory.

How to use AI to color black and white photos AI old photo coloring tutorial How to use AI to color black and white photos AI old photo coloring tutorial Jan 08, 2026 pm 12:51 PM

You can use the DeOldify online platform, Photoshop Beta version neural filter, Python to run the Colourful model locally, or the Remini mobile app to automatically color black and white old photos. Each method is suitable for ordinary users who do not need programming, professional designers, technical users who pay attention to privacy, and fast processing needs on the mobile terminal.

How to set the default QR code generation method in Win11_Win11 shared link automatic transcoding associated application [Tool] How to set the default QR code generation method in Win11_Win11 shared link automatic transcoding associated application [Tool] Jan 10, 2026 pm 01:33 PM

It is necessary to enable the system QR code function through ViVeTool, set the default sharing to Windows sharing, the WiFi password can directly generate the QR code in the WLAN settings, and fix icon abnormalities caused by high contrast or third-party startup items.

Devin AI: Disrupting software engineering? An in-depth analysis of the future of AI software engineers Devin AI: Disrupting software engineering? An in-depth analysis of the future of AI software engineers Jan 12, 2026 pm 10:54 PM

In 2025, artificial intelligence (AI) is penetrating into various industries at an alarming rate, and the field of software engineering is no exception. Recently, an AI software engineer named DevinAI emerged, which has attracted widespread attention in the industry. DevinAI claims to be able to complete software development tasks autonomously, which has triggered concerns and discussions about whether AI will replace traditional software engineers. This article

Related articles