在xml文件中插入sql语句

我想做一个视频,从后台上传视频,前台想做一个播放列表。这个播放列表放在xml文件中。xml文件的代码是:<?xmlversion="1.0"encoding="utf-8... 我想做一个视频,从后台上传视频,前台想做一个播放列表。这个播放列表放在xml文件中。xml文件的代码是:<?xml version="1.0" encoding="utf-8"?>
<vcaster>
<item item_url="1.flv" item_title="幸福的脚丫预告片">
</item>
<item item_url="2.flv" item_title="变形金刚预告片">
</item>
<item item_url="3.flv" item_title="江南MV" >
</item>
<item item_url="29986450.flv" item_title="魔兽世界-晚安部落">
</item>
</vcaster>但是这里的几个视频都是通过手工添加的,我想在里边加入select语句来查询数据库,来实现动态效果。数据库为file,数据表也为file,里边有id,name,fileurl 三个字段。网站开发用的是asp。请了解的朋友给在下把代码说全面一点。谢谢!
忘了说,数据库用的是ACCESS
展开
 我来答
du瓶邪
2015-08-06 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2926万
展开全部
public class XMLTest
{
private Hashtable<String, String> hashtable;
private Vector sqlv=new Vector(); //用来存放Hashtable
public Hashtable getSQL(){
hashtable=new Hashtable<String, String>();
try{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
//path得到的值为 D:\tomcat5520\bin 即%tomcat%\bin目录
String path=System.getProperty("user.dir");
System.out.println("在XMLTest.java文件中打印user.dir的值为--"+path);
int pos=path.lastIndexOf("\\");
//下面这条语句得到的是 目录%tomcat%
path=path.substring(0,pos);
Document doc=db.parse(path+"/webapps/WebRoot/WEB-INF/sql-config.xml");

Element root=doc.getDocumentElement();
NodeList list=root.getElementsByTagName_r("sql-info");
for(int i=0;i<list.getLength();i++){
//得到第i个sql-info节点元素
Element name=(Element)list.item(i);

//在当前的sql-info节点中 取出所有的sql-name对应的节点
NodeList info=name.getElementsByTagName_r("sql-name");
//在当前当前的sql-info节点中 得到sql-name的多个节点,始终只取其中的第一个节点
Element nameelement=(Element)info.item(0);
//在当前当前的sql-info节点中 得到sql-name的多个节点,始终只取其中的第一个节点sql-name对应的文本的值
String namestr=nameelement.getFirstChild().getNodeValue();

//在当前的sql-info节点中 取出所有的sql-value对应的节点
NodeList sql=name.getElementsByTagName_r("sql-value");
//在当前当前的sql-info节点中 得到sql-value的多个节点,始终只取其中的第一个节点
Element sqlelement=(Element)sql.item(0);
//在当前当前的sql-info节点中 得到sql-value的多个节点,始终只取其中的第一个节点sql-value对应的文本的值
String sqlstr=sqlelement.getFirstChild().getNodeValue();
// System.out.println("sql语句为:"+sqlstr);
hashtable.put(namestr,sqlstr); //放入到Hashtable中
}
}catch(Exception e){
System.out.println("读取sql-config.xml "+e.getMessage());
}
return hashtable;
}

public void addHashtable(){
if(sqlv==null)
sqlv=new Vector();
Hashtable ht=getSQL(); //得到配置文件的Hashtable
sqlv.add(ht);
}

public Hashtable getHashtable(){
Hashtable ht=null;
if(sqlv==null)
sqlv=new Vector();
if(sqlv.isEmpty()){
addHashtable();
}
ht=(Hashtable)sqlv.get(0);
return ht;
}

public static void main(String[] args) throws Exception
{

XMLTest xt=new XMLTest();
Hashtable ht=xt.getSQL();
System.out.println(ht.get("在途"));
}
}
劳静殊e7
2009-09-13 · TA获得超过642个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:506万
展开全部
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Response.ContentType="application/xml"
Response.Charset="utf-8"
response.cachecontrol="no-cache"
response.addHeader "pragma","no-cache"
response.expires=-1
response.expiresAbsolute=now-1

db="file.mdb" '数据库路径,相对路径
set conn = server.CreateObject("adodb.connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)

Response.Write("<?xml version=""1.0"" encoding=""utf-8""?>")
set rs=Server.CreateObject("adodb.recordset")
rs.open "SELECT * FROM [file]",conn,1,1
if rs.Eof and rs.Bof then
Response.Write("<vcaster>")
Response.Write ("<item item_url=""no file"" item_title=""no file"">")
Response.Write("</item>")
Response.Write ("</vcaster>")
else
Response.Write("<vcaster>")
do while Not rs.Eof

Response.Write ("<item item_url="""&rs("fileurl")&""" item_title="""&rs("name")&""">")
Response.Write("</item>")

if rs.Eof then
Exit do
End if
rs.MoveNext
Loop
Response.Write ("</vcaster>")
End if
rs.Close
Set rs=Nothing
conn.Close
Set conn=Nothing
%>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式