XML 形式でデータを生成および解析するためのコードの詳細

黄舟
リリース: 2017-03-08 16:11:04
オリジナル
1764 人が閲覧しました

1. でのデータの生成と分析。

以下に示すように、XML の形式は付箋の形式で記述および表示されます。これは、以下に示すように、一目瞭然で、読みやすく、識別しやすいです。文字列形式の場合は、StringBuilder Grouping を使用できます: StringBuilder sb = new StringBuilder();

<xml 头>
<student>
<name>张三</name>
<number>110001</number>
<sex>male</sex>
</student>
ログイン後にコピー

上記のコードは xml

ファイルも生成できますが、たとえば、テキスト メッセージの内容に「」が含まれている場合、特殊文字は処理できません。 " シンボルの場合、xml

パーサーは正しい解析を完了できません。したがって、使用の前提条件は、データの内容に特殊文字が含まれていないことを確認することです。

Android は、XML データの生成に特化した API を提供します。

これは、XML ファイルのすべての内容をドキュメント ツリーの形式でメモリに保存し、DOMAPI の使用を可能にするオブジェクトベースの API です。 XML ツリーを走査して必要なデータを取得し、ツリーの構造に従ってノードの形式で取得してファイルを操作できるようにします。 DOM は XML ファイル全体をドキュメント ツリーの形式でメモリに保存する必要があり、大量のメモリを消費するため、Android での解析にこの方法を使用しても問題ありません。

2. SAX 解析

は、XML ドキュメントを 1 行ずつスキャンし、タグが見つかったときに解析プロセッサをトリガーし、イベント処理を使用して XML を解析します。ドキュメントを読み込みながら XML を処理できるため、ドキュメントが読み込まれるまで待つ必要がなく、メモリ占有の問題もなく解析できます。非常に大きな XML。ただし、SAX 解析は XML データの読み取りにのみ使用でき、追加、削除、変更はできません。

3. PULL 解析は SAX 解析に似ており、これもイベント処理に基づいています。 PULL パーサーは、Android アプリケーションと JavaEE プログラムの両方で使用できるオープン ソース Java プロジェクトです。 Android には PULL パーサーが統合されているため、Android で最も一般的に使用される解析方法は PULL 解析です。

SAX パーサーと PULL パーサーの比較: プル パーサーは SAX

パーサーと同様に動作し、どちらもイベント駆動モードに属します。開始要素イベントや終了要素イベントなどの同様のイベントを提供します。parser.next() を使用して次の要素に入り、対応するイベントをトリガーします。イベントは数値コードとして送信されるため、スイッチ

を使用して目的のイベントを処理できます。要素の解析が開始されたら、parser.nextText() メソッドを呼び出して、次の Text

型要素の値を取得します。

SAX パーサーの動作方法は、イベントをイベント ハンドラーに自動的にプッシュして処理するため、イベント処理のアクティブな終了を制御することはできません。一方、Pull

パーサーは、アプリケーション コードがパーサーからアクティブに終了できるようにすることで動作します。イベントはイベント内で取得されます。イベントはアクティブに取得されるため、必要な条件が満たされるとイベントは取得できなくなり、解析が終了します。

Android で PULL メソッドを使用して XML ファイルを解析するコードは次のとおりです:

//数据保存到文件
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<student>");
sb.append("<name>");
sb.append(name);
sb.append("</name>");
sb.append("<number>");
sb.append(number);
sb.append("</number>");
sb.append("<sex>");
sb.append(sex);
sb.append("</sex>");
sb.append("</student>");
ログイン後にコピー

以上がXML 形式でデータを生成および解析するためのコードの詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!