XML 解析 sax 解析ケース (2) sax 解析を使用して XML 文書をオブジェクトにカプセル化する
Demo1 クラス:
import java.io.File; import java.util.List; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; /** * 使用sax解析把 xml文档封装成对象 * @author APPle * */ public class Demo3 { public static void main(String[] args)throws Exception { SAXParser parser = SAXParserFactory.newInstance().newSAXParser(); MyDefaultHandler3 handler = new MyDefaultHandler3(); parser.parse(new File("./src/contact.xml"), handler); List<Contact> list = handler.getList(); for (Contact contact : list) { System.out.println(contact); } } }
MyDefaultHandler3 クラス:
import java.util.ArrayList; import java.util.List; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; /** * SAX处理程序 * @author APPle * */ public class MyDefaultHandler3 extends DefaultHandler { //存储所有联系人对象 private List<Contact> list = new ArrayList<Contact>(); public List<Contact> getList(){ return list; } //保存一个联系人信息 private Contact contact; /** * 思路: * 1)创建Contact对象 * 2)把每个contact标签内容存入到Contact对象 * 3)把Contact对象放入List中 */ //用于临时存储当前读到的标签名 private String curTag;//用于方法跨度使用变量。 @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { curTag = qName; //读取到contact的开始标签创建Contact对象,这里说明了什么时候创建Content对象最合适。 if("contact".equals(qName)){ contact = new Contact(); //设置id值 contact.setId(attributes.getValue("id"));//根据指定名字获取id值 } } @Override public void characters(char[] ch, int start, int length) throws SAXException { //当前文本内容 String content = new String(ch,start,length);//String类构造方法获取到当前文本的额内容。 if("name".equals(curTag)){ contact.setName(content); } if("age".equals(curTag)){ contact.setAge(content); } if("phone".equals(curTag)){ contact.setPhone(content); } if("email".equals(curTag)){ contact.setEmail(content); } if("qq".equals(curTag)){ contact.setQq(content); } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { //结束标签后就设置null。这里设置为null很重要。设置空是为了避免空格换行设置到对象的属性中,空格换行进去了就把原来放进去的数据覆盖掉。 curTag = null; //读到Contact的结束标签把content对象放入List中 if("contact".equals(qName)){ list.add(contact); } } }
上記は XML 解析の Sax 解析ケースです (2) Sax 解析を使用して XML ドキュメントをオブジェクト コンテンツにカプセル化します。 content PHP 中国語 Web サイト (www.php.cn) にご注意ください。

ホット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)

ホットトピック









Web開発の分野では、データ形式の一つであるXMLやJSONが広く使われており、Ginフレームワークはシンプルで使いやすく、効率的なパフォーマンスを備えた軽量なGo言語Webフレームワークです。この記事では、Gin フレームワークを使用して XML および JSON データ解析関数を実装する方法を紹介します。 Gin フレームワークの概要 Gin フレームワークは、Go 言語に基づく Web フレームワークであり、効率的でスケーラブルな Web アプリケーションを構築するために使用できます。 Gin フレームワークはシンプルで使いやすいように設計されており、開発を容易にするさまざまなミドルウェアとプラグインが提供されています。

Java がインターネット分野でますます広く使用されるようになるにつれて、多くの開発者はデータ解析に XML を使用するときに「XML 解析エラー」の問題に遭遇することがあります。 XML 解析エラーとは、Java を使用して XML データを解析するときに、データ形式が正しくない、タグが閉じられていない、またはその他の理由によりプログラムがデータを正常に解析できず、エラーや例外が発生することを意味します。では、XML 解析エラーに直面した場合、どのように解決し、回避すべきでしょうか?この記事ではこの問題について詳しく説明します。 1. XML の解析

XML は一般的に使用されるデータ交換形式であり、Java 開発では、大規模な XML ファイルを解析する必要があることがよくあります。ただし、XML ファイルには多数のノードや要素が含まれることが多いため、従来の XML 解析方法ではメモリ使用量が高くなりやすい可能性があります。この記事では、XML 解析のメモリ使用量が多い問題を解決するいくつかの方法を紹介します。 SAX パーサーの使用 SAX (SimpleAPI for XML) は、イベント駆動型の XML 解析メソッドです。 DOM との比較 (DocumentO

Web アプリケーションを開発する場合、XML はデータ交換や情報共有などのシナリオで使用できる非常に重要なデータ形式です。 PHP では、組み込み関数とサードパーティのライブラリを使用して XML を解析および操作できます。以下では、PHP を使用して XML を解析し、その中のノードのコンテンツを取得する方法について説明します。 XML ファイルの解析 まず、XML ファイルを解析する必要があります。PHP には、XML を解析するための 2 つの主な方法があります: 1.1. SimpleXML の使用 SimpleXML は PHP 内にあります。

PHP8.1アップデート:XML解析機能の強化 インターネットの急速な発展に伴い、XML(Extensible Markup Language)はデータ交換や情報伝達において重要な役割を果たしています。 XML は汎用データ形式として、異なるアプリケーション間でデータを転送および保存するためによく使用されます。より優れた XML 解析機能を提供するために、PHP8.1 では XML 解析機能が強化され、開発者にさらなる利便性を提供しています。 PHP8.1 における重要な改善点は、libxml_disabl の導入です。

Java XML 解析例外 (XMLParsingException) を解決するソリューションの紹介: XML ファイルを処理するときに、XML 解析例外 (XMLParsingException) が頻繁に発生します。これは、XML ファイル形式のエラーまたは不適切な XML パーサー構成が原因です。この記事では、開発者がこれらの問題に適切に対処できるようにするための、一般的な XML 解析の例外と解決策をいくつか紹介します。 1. XML 解析例外の原因は、XML ドキュメントの解析です。

PHP は、XML を含むさまざまなファイル形式をサポートする、広く使用されているプログラミング言語です。 XML ファイルを処理するときに、解析エラーが発生する場合があります。この記事では、PHP で XML 解析エラーを処理する方法を説明し、いくつかの具体的なコード例を示します。 XML ファイル形式の確認 XML ファイルを処理する前に、XML ファイルが正しい形式であることを確認する必要があります。 XML ファイルは厳密な形式である必要があります。そうでない場合、パーサーはファイルを処理できません。たとえば、XML ファイルにはルート要素が含まれており、正しい名前空間を使用する必要があります。

Java 開発で XML 解析がヒープ メモリを占有しすぎる問題を解決する方法 はじめに: 情報とデータの爆発的な増加に伴い、エンタープライズ アプリケーション開発における XML (Extensible Markup Language) の重要性が高まり続けています。ただし、特に大きな XML ファイルを扱う場合、XML 解析中に過度のヒープ メモリ使用量に関する問題が発生する可能性があります。この記事では、この問題を解決するためのいくつかの方法とテクニックを紹介します。 1. XML 解析プロセスを理解する XML 解析がヒープ メモリを占有しすぎる問題を深く解決する前に、まず XML 解析の基本を理解します。
