用於XML 資料擷取的SAX 解析
簡介
簡介使用SAX 進行解析(簡單) API for XML)解析器提供了一種從XML 文件中提取資料的通用方法。本文探討如何使用 SAX 來解決特定的挑戰:傳回包含所有提取的字串的數組,而不是單一字串。
教學概述提供的教學集使用 SAX 進行 XML 解析的基礎。它示範如何處理特定的 RSS feed 結構。
問題:將單一字串轉換為陣列原始問題表示需要修改教學課程以傳回包含所有擷取的字串的陣列。這與教程的實作不同,教程的實作會傳回帶有最後遇到的元素的單一字串。
SAX 實現android.sax:針對 Android 開發最佳化的簡化、更直觀的實作。
android.sax 實作此範例示範了 android.sax 實作的使用。它涉及使用 RootElement 和 Element 物件定義所需的 XML 結構。 POJO(普通舊 Java 物件)可用來表示您的資料。
// POJOs to represent the RSS feed structure public class Channel { private Items items; // getters and setters for all fields } public class Items extends ArrayList<Item> { // constructor and methods } public class Item { private String title; // getters and setters for all fields } // SAX handler to parse the XML public class Example extends DefaultHandler { private Channel channel; // listener methods for each XML element }
範例:
org.xml.sax 實作此實作使用更多事件驅動的方法,依賴事件處理程序方法
// SAX handler to parse the XML public class ExampleHandler extends DefaultHandler { private Channel channel; // event handler methods for each XML element }
使用org.xml.sax的範例:
org.xml.sax:更靈活,但需要對複雜的 XML 結構進行仔細的狀態管理。
結論兩種 SAX 實作之間的選擇取決於您專案的特定要求。兩者都提供了將 XML 資料解析為所需格式的可行解決方案。以上是如何使用 SAX 解析將 XML 文件中的所有字串提取到數組中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!