简述通过Java解析HTML文档

合集下载

java markdown转html应用与实践

java markdown转html应用与实践

Java Markdown转HTML应用与实践一、背景介绍1.1 什么是MarkdownMarkdown是一种轻量级的标记语言,最初由John Gruber和Aaron Swartz设计,旨在简化HTML的写作。

Markdown使用易读易写的文本格式,并可以转换为HTML、PDF等多种格式,是撰写网络文章和文档的理想选择。

1.2 Java语言介绍Java是一种广泛应用于企业级开发、移动应用开发等领域的跨评台编程语言,由Sun Microsystems公司于1995年发布。

Java拥有强大的跨评台特性和丰富的生态系统,被广泛应用于各种软件开发项目中。

1.3 Markdown转HTML的需求在实际的软件开发过程中,经常会遇到将Markdown格式的文本转换为HTML的需求,以便在网页上展示和发布。

由于Java在企业级应用中的地位和优势,因此许多开发者希望能够通过Java语言来实现Markdown转HTML的功能,从而简化开发流程、提高效率。

二、Java Markdown转HTML的实现方式2.1 使用现有的Markdown解析库目前,市面上有许多基于Java语言的Markdown解析库,如CommonMark、Flexmark等,它们提供了丰富的API和功能,可以方便地将Markdown格式的文本解析为HTML格式。

开发者可以通过引入这些库来实现Markdown转HTML的功能,从而避免重复造轮子,快速完成开发任务。

2.2 自行编写Markdown解析器另一种实现Java Markdown转HTML的方式是自行编写Markdown 解析器。

开发者可以根据Markdown语法规范,逐步解析Markdown文本,将其转换为HTML格式。

虽然这种方式需要投入更多的时间和精力,但可以更好地理解Markdown语法和转换原理,有助于提高编码水平。

2.3 集成第三方工具或服务除了上述两种方式,开发者还可以考虑集成第三方的Markdown转HTML工具或服务。

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案。。。

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案。。。

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现⽅案。

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现⽅案及开发中的点滴分享 在此,先分享下写此⽂前的经历与感受,我所有的感觉浓缩到⼀个字,那就是:"坑",如果是两个字那就是"巨坑"=>因为这个需求⼀开始并不是这样⼦的,且听我漫漫道来: ⼀开始客户与我们商量的是将office和PDF上传,将此类⽂件解析成html格式,在APP端调⽤内置server直接以html"播放" 经历⼀个⽉~,两个⽉~,三个⽉~~~ 到需求开发阶段,发现这是个坑。

:按照需规的意思这个整体是当做⼀个功能来做的,技术难度也就算了,⽽且按照估算的⼯时也很难做成需规所需要的样⼦(缺陷太多!) 然后⼀周~,⼀周~,⼜⼀周~~~ 各种⽅案下来将需求做成能⽤的样⼦,然后需求确认时客户说:“我们没有要求你们能解析这些⽂档,我们只要求你们当做⼀个源⽂件上传,在APP端点击直接能选择调⽤第三⽅应⽤打开就⾏了,⽽且⼀开始我们的需求就是这样的。

” /**听完,顿时泪流满⾯( _ ),如果业务⼀开始就确认这样做,何⾄于浪费如此多的时间,花费如此多的精⼒绕⽼⼤⼀圈。

*/ 需求绕了⼀圈⼜绕回来了,作为经历过的⼈,现在总结下这需求⾥⾯⽆尽的坑: A>开源社区有很多Demo,这些Demo有很多缺陷,⽐如office⾥⾯的艺术字、图⽚、公式、颜⾊样式、视频和⾳频不能解析 B>能解析的对象,解析出来的效果不是很好,⽐如word和ppt⾃⾝的排版乱了,excel单元格⾥⾯的⾃定义格式全变成数字了~等等 C>开源社区的资料并不是很全,导致的结果是不同的⽂档类型需要⽤不同的解析⽅式去解析,⽐如word⽤docx4j解析、excel⽤poi解析带来的代码量巨⼤ D>由于代码⾃⾝的解析效果不是很好,更改后的⽅案需要在上传之前将源⽂件处理成其他的形式,如pdf需要切成图⽚,ppt需要转换成视频或是图⽚,这样⼀来需求实现的⽅式就变成半⾃动了╥﹏╥... E>word⽤docx4j解析⼀个很⼤的问题是解析的效率太低了,5MB以上的⽂件或者内容⽐较复杂的word⽂档解析⼗分耗时,解析效率太低,再⼀就是poi解析数据量⽐较⼤的Exel(⽐如>1000⾏)容易造成内存溢出,不好控制 F>⼯时太短,只有15天。

java获取html标签内容的方法

java获取html标签内容的方法

java获取html标签内容的方法在Java中,我们可以使用不同的方法来获取HTML标签的内容。

下面介绍几种常用的方法:1. 使用正则表达式:通过正则表达式可以方便地从HTML文档中提取标签内容。

我们可以使用`<标签名>(.*?)</标签名>`的正则表达式来匹配指定标签的内容,并提取出其中的文本。

示例代码如下:```javaString html = "<p>这是一个段落。

</p>";String pattern = "<p>(.*?)</p>";Pattern r = pile(pattern);Matcher m = r.matcher(html);if (m.find()) {String content = m.group(1);System.out.println(content);} else {System.out.println("未匹配到指定标签的内容");}```2. 使用Jsoup库:Jsoup是一个用于解析HTML的Java库,它提供了简洁易用的API来获取HTML标签的内容。

首先,需要使用Maven或者手动下载Jsoup,并将其引入到项目中。

然后,可以使用以下代码来获取指定标签的内容:```javaimport org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;String html = "<p>这是一个段落。

</p>";Document doc = Jsoup.parse(html);Element element = doc.select("p").first();String content = element.text();System.out.println(content);```3. 使用第三方库:除了Jsoup,还有其他一些开源的第三方库可以用于解析HTML,如HtmlUnit、NekoHTML等。

【Jsoup】Jsoup解析Html标签(Java后台解析)

【Jsoup】Jsoup解析Html标签(Java后台解析)

【Jsoup】Jsoup解析Html标签(Java后台解析) 中⽂API⽹站(下载地址): 有时候编辑器传到后台的内容是带Html标签的,或者有时候需要形成⼀个完整的Html⽂档,也或者需要解析其中的⽂字(text()),Java后台处理⽤Jsoup⾮常⽅便,也可以⽤选择器快速获取元素,类似于jQuery。

获取到⽂档对此之后对其处理与JS处理DOM⼀样⽅便,选取元素也类似于JS,也有类似于jQuery的语法,官⽅的解释1.最基本的解析Html字符串@Testpublic void testHtmlToString2() {String html = "<p>这是⼀个段落<img src=\"test.img\"/>内容;</p>";Document doc = Jsoup.parse(html);System.out.println(doc); // 输出带标签的html⽂档System.out.println("---------------------\n"+doc.text()); // 输出内容Elements element = doc.getElementsByTag("p");System.out.println("---------------------\n"+element.get(0).html());}结果:<html><head></head><body><p>这是⼀个段落<img src="test.img">内容;</p></body></html>---------------------这是⼀个段落内容;---------------------这是⼀个段落<img src="test.img">内容;2.解析字符串// 解析html字符串@Testpublic void testHtmlToString() {String html = "<html><head><title>First parse</title></head>"+ "<body><p style='center'>Parsed HTML into a doc.</p></body></html>";Document doc = Jsoup.parse(html);System.out.println(doc); // 输出带标签的html⽂档System.out.println("---------------------\n"+doc.text()); // 输出内容}结果:<html><title>First parse</title></head><body><p style="center">Parsed HTML into a doc.</p></body></html>---------------------First parse Parsed HTML into a doc.3.// 解析body⽚段@Testpublic void test2() {String html = "<div><p>Lorem ipsum.</p>";Document doc = Jsoup.parseBodyFragment(html);System.out.println(doc);System.out.println(doc.text());}结果:<html><head></head><body><div><p>Lorem ipsum.</p></div></body></html>Lorem ipsum.4.// 解析⼀个url与⽤选择器选择元素(相当于查看源码)@Testpublic void test4() throws IOException {Document doc = Jsoup.connect(":8080/").get();String title = doc.title();// 获取titleSystem.out.println(title);System.out.println("---------------------\n"+doc.toString()+"---------------------\n");// 输出⽂档全部 Elements links = doc.getElementsByTag("a");for (Element ele : links) {System.out.println(ele.toString());}}Apache Tomcat/7.0.72---------------------<!doctype html><html lang="en"><head><title>Apache Tomcat/7.0.72</title><link href="favicon.ico" rel="icon" type="image/x-icon"><link href="favicon.ico" rel="shortcut icon" type="image/x-icon">..........5.选择器解析HTML并且提取input的value值:(获取元素的属性)* <span class="bigNum">⼆</span>、* <span><input class="el_modifiedTitle" value="多选题" type="text"> </span>* <span>(每到题 <input class="el_modifiedGrade" value="2" type="text"> </span>* <span> 分;共</span><span class="numTotal">4分/</span>* <span class="numQues">2题)</span>** @param html* @return*/// 去掉⼤题的标签public static String removeBigQues(String html) {StringBuffer sb = new StringBuffer();Document doc = Jsoup.parse(html);System.out.println(doc);System.out.println(doc.text());sb.append(doc.select(".bigNum").get(0).text() + ". ");sb.append(doc.select(".el_modifiedTitle").get(0).attr("value"));sb.append(doc.select("span").get(2).text() + doc.select(".el_modifiedGrade").get(0).attr("value"));sb.append(doc.select("span").get(3).text());sb.append(doc.select("span").get(4).text());sb.append(doc.select("span").get(5).text());System.out.println(sb.toString());return sb.toString();}补充:今天发现Jsoup竟然没有解析元素style的⽅法,所以只能⾃⼰⼿写 先获取到style属性,再对style属性进⾏处理,例如:String style = "position: absolute; width: 500px; height: 552px;";String extract = "width";if (style.contains(extract)) {style = style.substring(style.indexOf(extract));System.out.println(style);style = style.substring(0, style.indexOf(";"));System.out.println(style);String attr = style.substring(style.indexOf(":") + 2);System.out.println(attr.substring(0, attr.indexOf("px")));}补充:元素的html()与outerHtml()的区别 html()会返回包括⼦元素的内容以及标签,不包括⾃⼰ outerHtml()会返回包括⾃⼰在内的元素。

html富文本解析

html富文本解析

html富文本解析HTML富文本解析随着互联网的快速发展,富文本编辑器在网页开发中扮演着重要的角色。

HTML作为一种标记语言,可以实现富文本的解析和展示。

本文将从HTML富文本解析的概念、常见的解析方式、解析的实际应用以及解析过程中的注意事项等方面进行探讨。

一、HTML富文本解析的概念HTML富文本解析是指将包含富文本内容的HTML代码转化为可展示的富文本内容的过程。

富文本内容通常包括文字、图片、链接、表格等多种元素,而HTML富文本解析则是将这些元素解析出来并进行正确的展示。

二、常见的解析方式1. DOM解析:通过解析HTML代码构建DOM树,然后通过DOM的API 操作节点,实现对富文本内容的解析和展示。

DOM解析方式可以灵活地操作和修改文档内容,但对于大型文档或嵌套层次较深的文档,性能可能会受到影响。

2. 正则表达式解析:通过使用正则表达式匹配HTML代码中的标签和属性,从而提取出富文本内容。

正则表达式解析方式简单直接,适用于简单的HTML结构,但对于复杂的HTML代码可能会出现匹配错误或性能问题。

3. 第三方库解析:使用第三方库如jQuery、cheerio等进行HTML富文本解析。

这些库提供了丰富的API和方法,可以方便地操作和解析HTML代码,适用于各种复杂的解析需求。

三、解析的实际应用HTML富文本解析在实际应用中具有广泛的用途,以下列举了其中几个常见的应用场景:1. 文章编辑器:富文本编辑器如CKEditor、TinyMCE等使用HTML 富文本解析来实现用户输入内容的展示和保存。

2. 内容展示:网页中的内容展示通常需要对HTML代码进行解析,以显示文本、图片、链接等元素。

3. 邮件处理:邮件系统中常常需要对富文本邮件进行解析,以正确地显示邮件内容。

4. 数据爬取:在网页爬虫中,对抓取到的HTML代码进行解析,以提取出需要的信息。

四、解析过程中的注意事项在进行HTML富文本解析时,需要注意以下几点:1. 安全性:由于HTML代码中可能包含恶意代码,需要对解析过程进行严格的安全控制,防止XSS攻击等安全问题。

Jsoup(一)Jsoup详解(官方)

Jsoup(一)Jsoup详解(官方)

Jsoup(⼀)Jsoup详解(官⽅)⼀、Jsoup概述1.1、简介jsoup 是⼀款Java 的HTML解析器,可直接解析某个URL地址、HTML⽂本内容。

它提供了⼀套⾮常省⼒的API, 可通过DOM,CSS以及类似于jQuery的操作⽅法来取出和操作数据。

1.2、Jsoup的主要功能1)从⼀个URL,⽂件或字符串中解析HTML2)使⽤DOM或CSS选择器来查找、取出数据3)可操作HTML元素、属性、⽂本注意:jsoup是基于MIT协议发布的,可放⼼使⽤于商业项⽬。

1.3、jsoup 的主要类层次结构⼆、⼊门2.1、解析和遍历⼀个HTML⽂档 如何解析⼀个HTML⽂档:String html = "<html><head><title>First parse</title></head>"+ "<body><p>Parsed HTML into a doc.</p></body></html>";Document doc = Jsoup.parse(html); 其解析器能够尽最⼤可能从你提供的HTML⽂档来创见⼀个⼲净的解析结果,⽆论HTML的格式是否完整。

⽐如它可以处理: 1)没有关闭的标签<p>Lorem <p>Ipsum parses to <p>Lorem</p> <p>Ipsum</p> 2)隐式标签它可以⾃动将 <td>Table data</td>包装成<table><tr><td>? 3)创建可靠的⽂档结构html标签包含head 和 body,在head只出现恰当的元素2.2、⼀个⽂档的对象模型1)⽂档由多个Elements和TextNodes组成2)其继承结构如下:Document继承Element继承Node. TextNode继承 Node.3)⼀个Element包含⼀个⼦节点集合,并拥有⼀个⽗Element。

JSoup

JSoup

DOM树的遍历
在DOM树的遍历上,用到了NodeVisitor和NodeTraversor来对树的进行遍历。
1.nodeVisitor public interface NodeVisitor { public void head(Node node, int depth); public void tail(Node node, int depth); }
1、HTML相关知识
HTML Tag可以分为block和inline两类。
2、Jsoup的格式化实现
在Jsoup里,直接调用Document.toString()(继承自Element),即可对文档进行输出。 另外OutputSettings可以控制输出格式,主要是prettyPrint(是否重新格式化)、 outline(是否强制所有标签换行)、indentAmount(缩进长度)等。
• 父节点parentNode以及子节点childNodes 的引用 • 属性值集合attributes • 页面的uribaseUri,用于修正相对地址为绝 对地址 • 在兄弟节点中的位置siblingIndex,用于进 行DOM操作
在HTML元素中,URLs经常写成相对于文档位置的相对路径:<a href="/download">...</a>. 当你使用 Node.attr(String key) 方法来取得a元素的href属性时,它将直接返回在HTML源码中指定定的值。 假如你需要取得一个绝对路径,需要在属性名前加 abs: 前缀。 这样就可以返回包含根路径的URL地址attr("abs:href") 因此,在解析HTML文档时,定义base URI非常重要。 如果你不想使用abs: 前缀,还有一个方法能够实现同样的功能 Node.absUrl(String key)。

java实现html静态文件对比,包含样式

java实现html静态文件对比,包含样式

java实现html静态文件对比,包含样式(实用版)目录1.Java 实现 HTML 静态文件对比的背景和意义2.Java 实现 HTML 静态文件对比的基本原理3.Java 实现 HTML 静态文件对比的具体方法4.Java 实现 HTML 静态文件对比的优点和局限性5.总结和展望正文一、Java 实现 HTML 静态文件对比的背景和意义在 Web 开发中,HTML 静态文件对比是一项重要的任务。

它可以帮助我们比较两个 HTML 文件之间的差异,从而方便我们更好地进行代码管理和维护。

Java 作为一种广泛应用的编程语言,可以实现 HTML 静态文件的对比功能。

这对于我们的 Web 开发工作具有重要的实际意义。

二、Java 实现 HTML 静态文件对比的基本原理Java 实现 HTML 静态文件对比的基本原理是,通过读取两个 HTML 文件的内容,然后将它们进行比较,找出它们之间的差异。

为了实现这一功能,我们可以使用 Java 的文件读取和字符串比较功能。

三、Java 实现 HTML 静态文件对比的具体方法具体来说,我们可以按照以下步骤来实现 Java 的 HTML 静态文件对比功能:1.使用 Java 的 FileReader 类读取两个 HTML 文件的内容。

2.将读取到的文件内容进行编码,然后使用 Java 的 StringBuilder 类将它们转换为字符串。

3.使用 Java 的 String 类中的 compareTo 方法或者使用正则表达式等技术,对两个字符串进行比较,找出它们之间的差异。

4.将找出的差异以某种格式(例如,使用 HTML 标签或者其他标记)显示给用户。

四、Java 实现 HTML 静态文件对比的优点和局限性Java 实现 HTML 静态文件对比的优点是,Java 语言具有跨平台性,可以在多种操作系统上运行,因此,它实现的 HTML 静态文件对比功能具有较好的通用性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简述通过Java解析HTML文档简述通过Java解析HTML文档2011-04-01 09:14:05摘要JAVA 语言是目前Internet 上大型的WEB 应用程序开发时使用得最热门的编程语言,本文从实践的角度重点阐述Java 语言中输入流类StreamTokenizer 在编写HTML 文件分析程序中的应用。

关键词:java html StreamTokenzer HtmlTokenizer Applet 计算机摘要JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文从实践的角度重点阐述Java语言中输入流类StreamTokenizer在编写HTML文件分析程序中的应用。

关键词:java html StreamTokenzer HtmlTokenizer Applet计算机信息技术已经渗透到人们生活的方方面面,网络信息已成为我们日常信息主要来源之一。

而这些信息时如何在这神奇的网络上体现出的呢,这些网站是如何用机器语言编辑的等等。

弄明白这些的方法很多,在这将通过java简单解析html文件,并举实例进行说明。

1 Java语言的概述1.1 Java语言的主要特点Java语言是一种适用于网络编程的语言,它的基本结构与C++极为相似,但却简单得多。

它集成了其它一些语言的特点和优势,又避开了它们的不足之处。

Java的主要特点有:简单性、平台独立性、面向对象的技术、多线程、动态性、安全性、高性能、分布性、强大性、解释性、可移植性等。

1.2 Java解析Html工具Java HTML Parser提供了一组Tag对象,这些对象可以深入解析一棵可搜索的结构树。

HtmlRipper是一个Java包能够按照预先定义好的规则设置来从Web页中抽取动态数据.Cobra是一个HTML工具包。

它包含一个纯Java HTML DOM 分析器和一个页面表现引擎。

Cobra支持HTML4,Javascript 和CSS2。

Java Mozilla Html Parser能够将html解析成Java Document对象。

它是一个基于Mozilla Html解析器封装的Html解析类库。

因此能够为开发人员提供一个浏览器质量的HTML解析器。

1.3 Java Applet通常翻译为Java小应用程序,也称Java小程序,它不是能独立运行的Java程序,而是通过支持Java浏览器来运行的Java程序。

在Java语言刚刚出现的时候,Java最吸引人的就是JavaApplet,用来创建WWW上的页面。

2 HTML语言剖析HTML全名为Hyper Text Markup Language,中文译为超文本标记语言,这是创建网页的脚本语言,它提供了精简而有力的文本定义,使我们可以设计出多姿多彩的超媒体文本(Hypermedia Document),通过HTTP(Hyper Text Teansfer Protocol)通信协议,是的HTML文本可以在全球互联网(World Wide Web,WWW)上进行跨平台的文件交换。

HTML文件为纯文本的文件格式,可以用任何文本编辑器或者用FrontPage、Dreamweaver等Web开发制作工具来编辑。

至于文件中的文字、字体、字体大小、段落、图片、表格及超级链接,甚至是文本名称都是以不同意的标记(Tags)来描述,以此来定义文件的结构与文件间的逻辑关联。

简而言之,HTML是以标记来描述文件中的多媒体信息。

3 Web与HTML互联关系Web服务器的核心是对HTML文件中的各标记(Tag)作出正确的分析,一种编程语言的解释程序也是对源文件中的保留字进行分析再做解释的。

实际应用中,我们也常常会遇到需要对某一特定类型文件进行关键字分析的情况,比如,需要将某个HTML文件下载并同时下载与之相关的.gif、.class等文件,此时就要求对HTML文件中的标记进行分离,找出所需的文件名及目录。

利用Java的输入流类StreamTokenizer进行HTML文件的分析,效果较好。

在此,我们要实现从已知的Web页面下载HTML文件,对其进行分析后,下载该页面中包含的HTML文件(如果在Frame 中)、图像文件和Class(Java Applet)文件。

4 程序实现4.1 编写嵌入java小程序字节码文件的html文档通过html的标记符可以把编译形成的字节码文件app2.class嵌入到html文档中。

其最基本的形式为:其中,code属性指明了所要加载的字节码文件,它与网页在同一个文件夹下:width和height属性分别给出了Applet显示区域的宽和高,单位为像素。

使用Windows的记事本,键入下面的html源文件:并将网页文件保存在字节按在的目录下,文件名可任意命名,例如page.htm。

这样就把小程序字节码文件App2.class嵌入到网页page1.htm中。

4.2 利用Java实现HTML的编辑首先要有一个编辑框,这个编辑框其实就是一个可编辑状态的网页,我们用iframe来建立编辑框。

并且在加上javascript代码来指定HtmlEdit有编辑功能:var editor;editor =document.getElementById("HtmlEdit").contentWindow;//只需键入以下设定,iframe立刻变成编辑器。

editor.document.designMode = 'On';editor.document.contentEditable = true;//但是IE与FireFox有点不同,为了兼容FireFox,所以必须创建一个新的document。

editor.document.open();editor.document.writeln('');editor.document.close(); //字体特效-加粗方法一function addBold(){editor.focus(); //所有字体特效只是使用execComman()就能完成。

editor.document.execCommand("Bold", false, null);}//字体特效-加粗方法二function addBold(){editor.focus(); //获得选取的焦点var sel = editor.document.selection.createRange(); insertHTML(""+sel.text+"");}function insertHTML(html){if (editor.document.selection.type.toLowerCase() != "none"){editor.document.selection.clear() ;}editor.document.selection.createRange().pasteHTML(html ) ;}4.3 对某个令牌流进行分析之前,首先应对该令牌流的语法表进行设置,在本例中,即是让程序分出哪个单词是HTML 的标记。

import java.io.*;import ng.String;class HtmlTokenizer extends 好论文123StreamTokenizer {//定义各标记,这里的标记仅是本例中必须的,可根据需要自行扩充static int HTML_TEXT=-1;static int HTML_UNKNOWN=-2;static int HTML_EOF=-3;static int HTML_IMAGE=-4;static int HTML_FRAME=-5;static int HTML_BACKGROUND=-6;static int HTML_APPLET=-7;boolean outsideTag=true; //判断是否在标记之中//构造器,定义该令牌流的语法表。

public HtmlTokenizer(BufferedReader r) { super(r);this.resetSyntax(); //重置语法表this.wordChars(0,255); //令牌范围为全部字符this.ordinaryChar('标记两边的分割符this.ordinaryChar('>');} //end of constructorpublic int nextHtml(){int token; //令牌try{switch(token=this.nextToken()){case StreamTokenizer.TT_EOF://如果已读到流的尽头,则返回TT_EOFreturn HTML_EOF;case '进入标记字段outsideTag=false;return nextHtml();case '>': //出标记字段outsideTag=true;return nextHtml();case StreamTokenizer.TT_WORD://若当前令牌为单词,判断是哪个标记if (allWhite(sval))return nextHtml(); //过滤其中空格else if(sval.toUpperCase().indexOf("FRAME")!=-1 && !outsideTag) //标记FRAMEreturn HTML_FRAME;else if(sval.toUpperCase().indexOf("IMG")!=-1 && !outsideTag) //标记IMGreturn HTML_IMAGE;else if(sval.toUpperCase().indexOf("BACKGROUND") !=-1 && !outsideTag) //标记BACKGROUNDreturn HTML_BACKGROUND;else if(sval.toUpperCase().indexOf("APPLET")!=-1 && !outsideTag) //标记APPLETreturn HTML_APPLET;default:System.out.println ("Unknown tag: "+token);return HTML_UNKNOWN;} //end of case}catch(IOException e){System.out.println("Error:"+e.getMessage());}return HTML_UNKNOWN;} //end of nextHtmlprotected boolean allWhite(String s){//过滤所有空格//实现略}// end of allWhite} //end of class5 程序调试心得5.1 Java是严格区分大小写的,但html标记语言并不区分别大小写,因此除嵌入的字节码文件名大小写必须与编译后的文件名一致外,其他标记符大小写都可以。

相关文档
最新文档