久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

SAX 解析和特殊字符

SAX parsing and special characters(SAX 解析和特殊字符)
本文介紹了SAX 解析和特殊字符的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我想使用 SAX 解析器從 xml 文件中解析一些數(shù)據(jù).我的xml如下:

I want to parse some data from an xml file using SAX parser. My xml is as follows:

<categories>
 <cat>Pies &amp; past</cat>
 <cat>Fruits</cat>
</categories>

為了解析這些數(shù)據(jù),我擴(kuò)展了 DefaultHandler.

In order to parse this data I extend DefaultHandler.

解析后的輸出為:

cat 1 = Pies

cat 2 = &

cat 3 = past

cat 4 = Fruits

為什么會(huì)發(fā)生這種情況而不是得到:

Why is this happening instead of getting:

cat 1 = Pies & past

cat 2 = Fruits

推薦答案

我的猜測(cè)是,您將對(duì) characters 的每次調(diào)用都視為為 cat 提供完整的文本元素.您應(yīng)該對(duì)處理程序進(jìn)行編碼,以便對(duì) characters 的連續(xù)調(diào)用累積文本,并且僅在 endElement 事件中捕獲它:

My guess is that you are treating each call to characters as delivering the complete text for a cat element. You should code your handler so that successive calls to characters accumulate the text, and you only capture it on the endElement event:

public class CatHandler extends DefaultHandler {
    private StringBuilder chars = new StringBuilder();

    public void startElement(String uri, String lName, String qName, Attributes a)
    {
        final String name = qName == null ? lName : qName;
        if ("cat".equals(name)) {
            chars.setLength(0);
        } else . . .
    }

    public void endElement(String uri, String lName, String qName) {
        final String name = qName == null ? lName : qName;
        if ("cat".equals(name)) {
            String catName = chars.toString();
            // do something with cat name
        } else . . .
    }

    public void characters(char[] ch, int start, int length) {
        chars.append(ch, start, length);
    }

這篇關(guān)于SAX 解析和特殊字符的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Upload progress listener not fired (Google drive API)(上傳進(jìn)度偵聽(tīng)器未觸發(fā)(Google 驅(qū)動(dòng)器 API))
Save file in specific folder with Google Drive SDK(使用 Google Drive SDK 將文件保存在特定文件夾中)
Google Drive Android API - Invalid DriveId and Null ResourceId(Google Drive Android API - 無(wú)效的 DriveId 和 Null ResourceId)
Google drive api services account view uploaded files to google drive using java(谷歌驅(qū)動(dòng)api服務(wù)賬戶查看上傳文件到谷歌驅(qū)動(dòng)使用java)
Google Drive service account returns 403 usageLimits(Google Drive 服務(wù)帳號(hào)返回 403 usageLimits)
com.google.api.client.json.jackson.JacksonFactory; missing in Google Drive example(com.google.api.client.json.jackson.JacksonFactory;Google Drive 示例中缺少)
主站蜘蛛池模板: 久草免费福利 | 理论片87福利理论电影 | 二区av| 中文字幕一区二区三区乱码在线 | 99精品久久| 日韩精品一区二区三区在线观看 | 日韩亚洲视频 | 中文字幕日韩欧美 | 天天干在线播放 | 本道综合精品 | 中文字幕高清 | 黄色网址在线免费观看 | 久久一区二区三区四区 | 欧美片网站免费 | 91 视频网站 | 日日操av | 日韩二| 福利片在线观看 | 亚洲风情在线观看 | 国产精品99久久久精品免费观看 | 欧美黄色绿像 | 国产精品久久久免费 | 性生活毛片| 精品日韩一区 | www日韩| 一区二区国产精品 | 色在线免费视频 | 亚洲男人的天堂网站 | 福利精品 | 亚洲色图图片 | 成年人在线观看 | 中文字幕一区在线观看视频 | 成人免费观看男女羞羞视频 | 色噜噜亚洲男人的天堂 | 中文字幕在线不卡 | 天天操天天天 | 伊人看片 | 国产在线一区二区三区 | 久久国产婷婷国产香蕉 | 欧美一级欧美三级在线观看 | 福利久久|