使用SAX解析將xml的檔案儲存為java物件
在Java使用Sax解析xml檔案中,我們介紹瞭如何用SAX解析xml檔案,接下來我們繼續學習如何將一個xml檔案的內容結構儲存到一個java例項物件中
一、xml檔案如下
- <?xmlversion="1.0"encoding="UTF-8"?>
- <bookstore>
- <bookid="156">
- <name>計算機網路</name>
-
<author>謝希仁</
- <price>39</price>
- <year>2013</year>
- </book>
- <bookid="234">
- <name>計算機作業系統</name>
- <author>佚名</author>
- <price>40</price>
- <year>2013</year>
-
<edition>
- </book>
- <bookid="367">
- <name>計算機組成原理</name>
- <price>35</price>
- <year>2013</year>
- <edition>第三版</edition>
- </book>
- </bookstore>
二、首先,我們要想寫一個與xml中的book節點結構相同的實體類Book
-
publicclass
- private String id;
- private String name;
- private String author;
- private String price;
- private String year;
- private String edition;
- public String getId() {
- return id;
- }
- publicvoid setId(String id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- publicvoid setName(String name) {
- this.name = name;
- }
- public String getAuthor() {
- return author;
- }
- publicvoid setAuthor(String author) {
- this.author = author;
- }
- public String getPrice() {
- return price;
- }
- publicvoid setPrice(String price) {
- this.price = price;
- }
- public String getYear() {
- return year;
- }
- publicvoid setYear(String year) {
- this.year = year;
- }
- public String getEdition() {
- return edition;
- }
- publicvoid setEdition(String edition) {
- this.edition = edition;
- }
- @Override
- public String toString() {
- return"Book [id=" + id + ", name=" + name + ", author=" + author + ", price=" + price + ", year=" + year
- + ", edition=" + edition + "]";
- }
- }
三、編寫DefaultHandler類
使用全域性變數來實現不同函式之間的物件共享
- publicclass MyHandler extends DefaultHandler {
- private String value = null;
- private List<Book> bookList = new ArrayList<>();
- private Book book = null;
- @Override
- publicvoid startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- super.startElement(uri, localName, qName, attributes);
- if ("book".equals(qName)) {
- book = new Book();
- String id = attributes.getValue("id");
- book.setId(id);
- }
- }
- @Override
- publicvoid characters(char[] ch, int start, int length) throws SAXException {
- super.characters(ch, start, length);
- value = new String(ch, start, length);
- }
- @Override
- publicvoid endElement(String uri, String localName, String qName) throws SAXException {
- super.endElement(uri, localName, qName);
- switch (qName) {
- case"book":
- bookList.add(book);
- book = null;
- break;
- case"name":
- book.setName(value);
- break;
- case"author":
- book.setAuthor(value);
- case"year":
- book.setYear(value);
- break;
- case"edition":
- book.setEdition(<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">value</span><span style="font-size: 12px; font-family: Arial, Helvetica, sans-serif;">);</span>
- break;
-
case
相關推薦
使用SAX解析將xml的檔案儲存為java物件
轉載自:http://blog.csdn.net/kingsonyoung/article/details/5199508 在Java使用Sax解析xml檔案中,我們介紹瞭如何用SAX解析xml檔案,接下來我們繼續學習如何將一個xml檔案的內容結構儲存到一個jav
使用SAX解析將xml的檔案內容結構儲存到java物件中
在Java使用Sax解析xml檔案中,我們介紹瞭如何用SAX解析xml檔案,接下來我們繼續學習如何將一個xml檔案的內容結構儲存到一個java例項物件中 一、xml檔案如下 <?xml version="1.0" encoding="UTF-8"?> <
Java如何解析某個目錄下xml檔案,將XML檔案轉換為報表資料來源?
在Java開發的報表工具FineReport中,假如在目錄下儲存了幾個XML檔案,希望把XML檔案轉換為報表資料來源,同時希望展示動態xml資料來源的效果,這時可通過引數的方式,動態獲取xml欄位中的值再作為報表資料來源。Northwind.xml記錄資料格式如下:<?
opencv3.3 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失
VS2015 + opencv3.3 執行報錯: warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失 error C2065: “ptr”: 未宣告的識別符號 error C2065: “ptr”:
VS2017 報錯該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失
尤其程式碼是從linux平臺複製過來: 報錯如圖: 更有甚者基本函式都報錯: 當下檢查發現if else break case等基本函式並無問題時,報錯行數明顯不一致等一定要注意文件編碼格式, 最簡單的辦法是用notepad++,逐個將.
《 warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失》
問題描述 最近專案中添加了很多外部的.h和.cpp檔案,有可能是編碼格式不一樣,在生成解決方案時,輸出窗口出現了好多的warning C4819警告資訊,具體情況如下所示: warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。 請將該檔案儲存為
VS2017 warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失
Visual Studio 2017出現warning C4819: 該檔案包含不能在當前內碼表(936)中表示的字元。請將該檔案儲存為 Unicode 格式以防止資料丟失 解決方案: 1.修改字元編碼格式 Visual Studio提供高階儲存選項功能,
“該檔案包含不能在當前內碼表(936)中表示的字元,請將該檔案儲存為 Unicode 格式以防止資料丟失”
這個警告怎麼破?其實很簡單: 以VS2012為例,去除方法見下: ------------------------------------------- 影象處理開發資料、影象處理開發需求、
opencv讀取視訊檔案,並將視訊檔案儲存為圖片
#include <iostream> #include <windows.h> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp
XML解析之sax解析案例(二)使用sax解析把 xml文件封裝成物件
Demo1類: import java.io.File; import java.util.List; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; /**
利用nodejs將xlsx檔案匯出為json物件
首先新建一個專案資料夾,命名任意然後在該資料夾下下載 node-xlsx 執行 npm install node-xlsx然後下載 ejsexcel npm install ejsexcel --sava然後編輯一個xlsx表格檔案,儲存到該資料夾下,命名 userList
java中解析xml檔案儲存資料庫
package com.ziyun56.chpz.service.poi.util; import java.io.File; import java.util.Iterator; import java.util.List; import org.dom4j.Docu
WINDOWS解決升級npm依賴包的bat檔案,將檔案儲存為bat格式字尾,放node專案目錄執行
@echo off & npm outdated --parseable --depth=0 >up.txt & for /f “delims=^” %%i in (up.txt) do ( for /f “delims=:” %%i in ("%%~ni") do (
[Android] 一個將當前螢幕儲存為圖片檔案的類(簡單說就是抓屏)
現在無論是應用,還是遊戲中,都經常會有分享的功能。分享,不僅要分享文字,也要分享應用或者遊戲的螢幕截圖,這樣才能做到圖文並茂,吸引到更多的使用者。想要做圖片的分享功能,首先就需要抓屏,將當前螢幕儲存為一個圖片檔案。下面就是一個將當前的Activity直接儲存為一個圖片檔案的類
【XML】將String格式的XML檔案轉化成JAVA實體類
1.問題: 如何將String型別的XML轉化成JAVA實體類? 2.原始碼: public class TestXML { @SuppressWarnings("unchecked") public static void main(
將座標系統儲存為一個檔案.prj
try { System.Windows.Forms.SaveFileDialog m_SaveFileDialog = new System.Windows.Forms.SaveFileDial
使用ffmpeg將BMP圖片編碼為x264視訊檔案,將H264視訊儲存為BMP圖片,yuv視訊檔案儲存為圖片的程式碼
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #ifdef __cplusplus extern "C" { #endif #include
java 後臺將base64字串儲存為圖片
有效 package com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputSt
運用python將json檔案儲存成csv檔案
工具: spyder ,codecs ,pandas # -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ #-*-coding:utf-8-*- import j
簡單知識點例項之一:如何將各個單一獲取的資料儲存為陣列物件並將其取出
一、將獲取的值存為陣列或陣列物件 (1)存為陣列(例如所有怪物的id值可以存為陣列) 是以逗號隔開的,建議用到存單個特定值時用(如光存id值時) <!DOCTYPE html> <html lang="en"> <head> <