アンドロイドサックスはXMLファイルを作成します
最初の 2 つの記事では、sax が XML を解析し、解析関数を実装する方法を簡単に説明します。次にsaxを使ってxmlファイルを作成します。
sax を使用して XML を作成する方法、プログラムに関連するコメントを追加する方法、またはコードを直接入力する方法を具体的に説明します。
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; } }
XML ファイルを作成する目的を達成するには、このメソッドを呼び出します。
new SxaCreateXml().saxToXml(openFileOutput("sax.xml", Context.MODE_PRIVATE));
生成された sax.xml ファイルはまだ data/data/cn.xxx.xxx/files フォルダーにあります。
<?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>
上記は Android sax で作成された XML ファイルの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

OnLeaks は、X (旧 Twitter) のフォロワーから 4,000 ドル以上を集めようとして失敗した数日後、Android Headlines と提携して Galaxy S25 Ultra のファーストルックを提供しました。コンテキストとして、h の下に埋め込まれたレンダリング イメージ

サムスンは、ファンエディション(FE)スマートフォンシリーズをいつアップデートするかについて、まだ何のヒントも提供していない。現時点では、Galaxy S23 FE は 2023 年 10 月初めに発表された同社の最新版のままです。

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Redmi Note 14 Pro Plusは、昨年のRedmi Note 13 Pro Plus(Amazonで現在375ドル)の直接の後継者として正式に発表されました。予想通り、Redmi Note 14 Pro Plusは、Redmi Note 14およびRedmi Note 14 Proと並んでRedmi Note 14シリーズをリードします。李

OnePlus の姉妹ブランドである iQOO の製品サイクルは 2023 年から 4 年で、ほぼ終わりに近づいている可能性があります。それにもかかわらず、ブランドはまだZ9シリーズの開発を終えていないと宣言しました。その最終、そしておそらく最高エンドとなる Turbo+ バリアントが、予測どおりに発表されました。 T

AGM Mobile は、IFA 2024 に来て、最新のタブレットとして、初めて黒とオレンジの強化筐体を備えた Pad P2 Active を発表しました。 360°回転するフリップアウトリングが、屋外でのキックスタンドハンドルとして機能するため、屋外での作業に適していると評判です。

歴史的に、Oppo は 2018 年 6 月に発表したオリジナルの Find X を除いて、冬の終わりか春の初めにフラッグシップの「Find X」シリーズを刷新してきました。そのため、Find X7 と Find X7 Ultra は発売からわずか 6 か月を超えています。この時点で。 H
