Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取联机xml文件并对其进行解析_Java_Xml_Xml Parsing_Youtube_Sax - Fatal编程技术网

Java 读取联机xml文件并对其进行解析

Java 读取联机xml文件并对其进行解析,java,xml,xml-parsing,youtube,sax,Java,Xml,Xml Parsing,Youtube,Sax,我试图在youtube视频上获取评论,并使用sax解析它们。下面是一段代码,它只打印给定url的注释。我想将其更改为从用户处获取url作为输入并打印注释的内容。XML联机,未保存在本地磁盘上,我也不想使用预保存的文件 public class ReadXMLFile { public static void main(String argv[]) { try { SAXParserFactory factory = SAXParserFactory

我试图在youtube视频上获取评论,并使用sax解析它们。下面是一段代码,它只打印给定url的注释。我想将其更改为从用户处获取url作为输入并打印注释的内容。XML联机,未保存在本地磁盘上,我也不想使用预保存的文件

public class ReadXMLFile {
    public static void main(String argv[]) {
        try {
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser saxParser = factory.newSAXParser();
            DefaultHandler handler = new DefaultHandler() {
                boolean content=false;
                int i=0;
                public void startElement(String uri, String localName,String qName, 
                    Attributes attributes) throws SAXException {
                    if (qName.equalsIgnoreCase("Content")) {
                        content = true;
                        i+=1;
                    }    
                }
                public void endElement(String uri, String localName,
                    String qName) throws SAXException { 

                }
                public void characters(char ch[], int start, int length) throws SAXException {
                    if (content) {
                        System.out.println("Comment " + i +": "+ new String(ch, start, length));
                        content = false;
                    }
                }
            };
            saxParser.parse("D:\\comment.xml", handler);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用此选项,您可以将网页内容作为inputStream获取:

String urlStr = "http://www.stackoverflow.com";
URL url = new URL(urlStr);
URLConnection conn = url.openConnection ();
conn.getInputStream()

如果删除代码中所有无关的换行符并修复缩进,那么每个人都会更容易阅读和理解您真正想要的内容。