⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feedreader1.java

📁 Read web RSS Feeds to break it into simple tags elements
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// JAXP packages
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.w3c.dom.*;

import java.io.*;


/**
 * This is a program to echo a DOM tree using DOM Level 2 interfaces.  Use
 * JAXP to load an XML file and create a DOM tree.  DOM currently does not
 * provide a method to do this.  (This is planned for Level 3.)  See the
 * method "main" for the three basic steps.  Once the application obtains a
 * DOM Document tree, it dumps out the nodes in the tree and associated
 * node attributes for each node.
 *
 * This program also shows how to validate a document along with using an
 * ErrorHandler to capture validation errors.
 *
 * Note: Program flags may be used to create non-conformant but possibly
 * useful DOM trees.  In some cases, particularly with element content
 * whitespace, applications may not want to rely on JAXP to filter out
 * these nodes but may want to skip the nodes themselves so the application
 * will be more robust.
 *
 *  Added code that shows how to use JAXP 1.2 features to
 * support W3C XML Schema validation.  See the JAXP 1.2 maintenance review
 * specification for more information on these features.
 *
 */
public class FeedReader1 {
    /** All output will use this encoding */
    static final String outputEncoding = "UTF-8";

    /** Output goes here */
    private PrintWriter out;

    /** Indent level */
    private int indent = 0;

    /** Indentation will be in multiples of basicIndent  */
    private final String basicIndent = "  ";
public Feeds FD;

    FeedReader1(PrintWriter out) {
        this.out = out;
	FD=new Feeds();
    }

    /**
     * Echo common attributes of a DOM2 Node and terminate output with an
     * EOL character.
     */
    private void printlnCommon(Node n) {
String val;

if(n.getNodeType()==Node.TEXT_NODE){
	if(n.getParentNode().getNodeName().equalsIgnoreCase("title")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("channel")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setTitle(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setTitle(n.getNodeValue()); }
      	  	}
		} else if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("image")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setImtitle(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setImtitle(n.getNodeValue()); }
      	  	}
		}else if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("item")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");(FD.getIttitle()).addElement(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");(FD.getIttitle()).addElement(n.getNodeValue()); }
      	  	}
		}else ;
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("link")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("channel")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setLink(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setLink(n.getNodeValue()); }
      	  	}
		} else if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("image")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setImlink(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setImlink(n.getNodeValue()); }
      	  	}
		}else if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("item")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");(FD.getItlink()).addElement(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");(FD.getItlink()).addElement(n.getNodeValue()); }
      	  	}
		}else ;
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("description")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("channel")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setDesc(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setDesc(n.getNodeValue()); }
      	  	}
		}else if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("item")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");(FD.getItdesc()).addElement(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");(FD.getItdesc()).addElement(n.getNodeValue()); }
      	  	}
		}else ;
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("pubDate")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("channel")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setPub(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setPub(n.getNodeValue()); }
      	  	}
		}else if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("item")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");(FD.getItpub()).addElement(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");(FD.getItpub()).addElement(n.getNodeValue()); }
      	  	}
		}else ;
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("language")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("channel")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setLang(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setLang(n.getNodeValue()); }
      	  	}
		}
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("copyright")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("channel")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setCopy(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setCopy(n.getNodeValue()); }
      	  	}
		}
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("url")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("image")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setImurl(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setImurl(n.getNodeValue()); }
      	  	}
		}
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("width")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("image")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setImwidth(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setImwidth(n.getNodeValue()); }
      	  	}
		}
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("height")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("image")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");FD.setImheight(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");FD.setImheight(n.getNodeValue()); }
      	  	}
		}
        out.println();
	}else if(n.getParentNode().getNodeName().equalsIgnoreCase("category")){
		if(n.getParentNode().getParentNode().getNodeName().equalsIgnoreCase("item")){
			out.print(" nodeName=\"" + n.getNodeName() + "\"");
		        val = n.getNodeValue();
		        if (val != null) {
		            out.print(" nodeValue=");
	            if (val.trim().equals("")) { out.print("[WS]");(FD.getItcat()).addElement(""); }
			else { out.print("\"" + n.getNodeValue() + "\"");(FD.getItcat()).addElement(n.getNodeValue()); }
      	  	}
		}
        out.println();
	}
	}//END of TEXT_NODE


}

    /**
     * Indent to the current level in multiples of basicIndent
     */
    private void outputIndentation() {
        for (int i = 0; i < indent; i++) {
            out.print(basicIndent);

⌨️ 快捷键说明

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