android sax creates xml file
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 )!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20443
7
13592
4
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
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
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
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
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
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]
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
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




