Android dom方法でxmlを作成する
Android DOM が XML を解析する方法に関する記事では、DOM が XML を解析するアプリケーションが簡単に紹介されています。今日は元の記事に基づいて、Android で XML を作成するための dom の応用について話しましょう。
最初: 作成されたファイルは /data/data/cn.com.xxx (現在のパッケージ名)/files に配置されます。
作成された XML ファイルは次のとおりです:
<?xml version="1.0" encoding="utf-8"?> <classes> <group name="一年级" num="10"> <person name="小明" age="7"> <chinese>语文90</chinese> <english>英语80</english> </person> </group> </classes>
Android dom 解析 XML メソッドの記事のメソッドを直接使用して解析できます。いくつかの変更を加えてください:
// 从assets文件夹下获取文件 转换成输入流 // inStream = this.getResources().getAssets().open(fileName); // doc = docBuilder.parse(inStream); InputStream fosStream = openFileInput(fileName); doc = docBuilder.parse(fosStream);
String[] fileNames = getFilesDir().list();
String fileName = fileNames[0];
private void createXmlFile(){ try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.newDocument(); //创建xml根元素 Element rootEle = doc.createElement("classes"); doc.appendChild(rootEle); //创建xml二级元素 Element groupEle = doc.createElement("group"); groupEle.setAttribute("name", "一年级"); groupEle.setAttribute("num", "10"); //创建xml person元素 Element personEle = doc.createElement("person"); //personEle 的属性和属性值 personEle.setAttribute("name", "小明"); personEle.setAttribute("age", "7"); //创建personELe的子元素 Element chinese = doc.createElement("chinese"); //创建personELe的子元素的值 chinese.appendChild(doc.createTextNode("语文90")); personEle.appendChild(chinese); Element english = doc.createElement("english"); english.appendChild(doc.createTextNode("英语80")); personEle.appendChild(english); groupEle.appendChild(personEle); rootEle.appendChild(groupEle); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); DOMSource source = new DOMSource(doc); transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8"); transformer.setOutputProperty(OutputKeys.INDENT, "no"); //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/files FileOutputStream fos = openFileOutput("Dom.xml", Context.MODE_PRIVATE); //创建文件存放在 /data/data/cn.xxx.xxx(当前包)/cache // FileOutputStream fos = Op PrintWriter pw = new PrintWriter(fos); StreamResult result = new StreamResult(pw); transformer.transform(source, result); System.out.println("生成XML文件成功!"); } catch (ParserConfigurationException e) { System.out.println(e.getMessage()); } catch (TransformerConfigurationException e) { System.out.println(e.getMessage()); } catch (TransformerException e) { System.out.println(e.getMessage()); } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } }

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
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 の下に埋め込まれたレンダリング イメージ

TCLは、2つの新しいスマートフォンの発表に加えて、NXTPAPER 14と呼ばれる新しいAndroidタブレットも発表しました。その巨大な画面サイズはセールスポイントの1つです。 NXTPAPER 14 は、TCL の代表的なブランドであるマット LCD パネルのバージョン 3.0 を搭載しています。

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

Vivo Y300 Pro は完全に公開されたばかりで、大容量バッテリーを備えた最もスリムなミッドレンジ Android スマートフォンの 1 つです。正確に言うと、このスマートフォンの厚さはわずか 7.69 mm ですが、6,500 mAh のバッテリーを搭載しています。これは最近発売されたものと同じ容量です

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

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
