htmltitlescanner.java

来自「梦界家园程序开发基底框架」· Java 代码 · 共 71 行

JAVA
71
字号
/*
 * (c) Copyright 2001 MyCorporation.
 * All Rights Reserved.
 */
package jm.util.html.scanners;

import java.io.IOException;

import jm.util.html.HTMLNode;
import jm.util.html.HTMLReader;
import jm.util.html.HTMLStringNode;
import jm.util.html.tags.HTMLEndTag;
import jm.util.html.tags.HTMLTag;
import jm.util.html.tags.HTMLTitleTag;

/**
 * Scans title tags.
 */
public class HTMLTitleScanner extends HTMLTagScanner {



	/**
	 * Constructor for HTMLTitleScanner.
	 * @param filter
	 */
	public HTMLTitleScanner(String filter) {
		super(filter);
	}

	/**
	 * @see HTMLTagScanner#evaluate(String, HTMLTagScanner)
	 */
	public boolean evaluate(String s, HTMLTagScanner previousOpenScanner) {
		absorbLeadingBlanks(s);
		if (s.toUpperCase().equals("TITLE"))
		return true; else return false;
	}

	/**
	 * @see HTMLTagScanner#scan(HTMLTag, String, HTMLReader, String)
	 */
	public HTMLNode scan(HTMLTag tag,String url,HTMLReader reader,String currLine) throws IOException {
		boolean endFlag = false;
		String title = "";
		String tmp;
		HTMLNode node;
		HTMLEndTag endTag=null;
		do
		{
			node = reader.readElement();

			if (node instanceof HTMLStringNode)
			{
				title =((HTMLStringNode)node).getText();
			}
			if (node instanceof HTMLEndTag)
			{
				endTag = (HTMLEndTag)node;
			    tmp = endTag.getContents();
			    if (tmp.toUpperCase().equals("TITLE")) {
			    	endFlag = true;
			    }
			} 
		}
		while (endFlag==false);
		return new HTMLTitleTag(tag.elementBegin(),endTag.elementEnd(),title,tag.getText(),tag.getTagLine());		
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?