以前学习了XML的解析,加上这次转载了《百度音乐接口》,所以想通过一次练习,将前面学到的基础知识综合运用得到一个小案例,就是输入歌手名和歌曲名下载或播放歌曲。下面是Dom解析的小测试,还是万里长征第一步。后面还会运用Servlet&JSP等知识。、
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
/**
* 解析百度音乐掌门的XML
**/
public class MusicDom{
public static void main(String args[]){
try{
//建立工厂类
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//建立Builder对象
DocumentBuilder builder = factory.newDocumentBuilder();
//将制定内容解析为XML文档,返回一个Document对象
Document doc = builder.parse("D:"+File.separator+"x.xml");
//建立NodeList
NodeList url_list = doc.getElementsByTagName("url");//取得url标签列表
//取得url标签下的所有子标签
//取得encode标签内容
Element e1 = (Element)url_list.item(0);
String address;//歌曲的实际地址
address = e1.getElementsByTagName("encode").item(0).getFirstChild().getNodeValue();//加歌曲地址
//取得decode标签内容
Element e2 = (Element)url_list.item(0);
address += "/"+e2.getElementsByTagName("decode").item(0).getFirstChild().getNodeValue();//加歌曲名
//输出歌曲地址
System.out.println("歌曲播放地址:"+address);
}catch(Exception e){
e.printStackTrace();
}
}
}