Java XML 處理、解析 XML、建立 XML、DOM 解析、SAX 解析、JAXB
引言
XML(可擴展標記語言)是一種廣泛用於資料傳輸和儲存的標記語言。 Java 程式語言提供了一系列強大的 api,可用於在應用程式中處理 XML 資料。本文將引導您從入門到精通 Java XML 處理,為您提供全面的理解和實用技能。
初學者指南:瞭解 XML
XML 是一種基於文字的資料格式,使用標籤和屬性來表示資料。標籤以尖括號 a8093152e673feb7aba1828c43532094 標記,屬性在標籤中以名稱-值對錶示。例如:
<person> <name>John Doe</name> <age>30</age> </person>
使用 Java 解析 XML
DOM (文件物件模型) 解析:
DOM 解析將 XML 文件載入到記憶體中的樹狀結構中,讓您可以遍歷和修改節點。以下程式碼展示如何使用 DOM 解析器解析 XML 檔案:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new File("people.xml"));
SAX (簡單 API for XML) 解析:
#SAX 解析是事件驅動的解析器,提供了一種更有效率的 XML 解析方式。 SAX 解析器將 XML 文件解析為一系列事件,您可以對每個事件做出回應。以下程式碼展示如何使用 SAX 解析器解析 XML 檔案:
SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); SAXContentHandler handler = new MyContentHandler(); parser.parse(new File("people.xml"), handler);
建立 XML
使用 DOM API 建立 XML:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); Element personElement = document.createElement("person"); Element nameElement = document.createElement("name"); nameElement.appendChild(document.createTextnode("John Doe")); Element ageElement = document.createElement("age"); ageElement.appendChild(document.createTextNode("30")); personElement.appendChild(nameElement); personElement.appendChild(ageElement);
使用 JAXB (Java 架構綁定) 建立 XML:
JAXB 是一種在 Java 物件和 XML 之間進行對應的 API。以下是使用 JAXB 建立 XML 的範例:
@XmlRootElement public class Person { private String name; private int age; // getters and setters } JAXBContext context = JAXBContext.newInstance(Person.class); Marshaller marshaller = context.createMarshaller(); marshaller.marshal(new Person("John Doe", 30), new FileOutputStream("person.xml"));
進階技術:XPath 和 XSLT
XPath (XML 路徑語言):
XPath 是一種用於導覽和選擇 XML 文件中特定節點的語言。以下範例使用 XPath 選擇上面範例中的名稱元素:
/person/name
XSLT (可擴充樣式表語言轉換):
#XSLT 是一種用於將 XML 文件轉換為其他格式(例如 html 或文字)的語言。以下範例使用 XSLT 將 XML 文件轉換為 HTML:
<xsl:stylesheet version="1.0" xmlns:xsl="Http://www.w3.org/1999/XSL/TransfORM"> <xsl:template match="/"> <html> <body> <h1>People</h1> <ul> <xsl:for-each select="//person"> <li><xsl:value-of select="name"/></li> </xsl:for-each> </ul> </body> </html> </xsl:template> </xsl:stylesheet>
結論
遵循本文中的指導,您將掌握 Java XML 處理的各個面向。從基礎的 XML 瞭解到進階的 XPath 和 XSLT 技術,您將具備應對複雜 XML 處理任務所需的知識和技能。透過練習和持續探索,您將成為熟練的 Java XML 處理大師,能夠自信地處理 XML 資料並將其用於各種應用程式中。
以上是Java XML 處理大師班:從初學者到專家的詳細內容。更多資訊請關注PHP中文網其他相關文章!