一个很简单xml文件,如何实现查询、删除和修改?

yzhshty 2004-12-23 09:29:56
帮别人做的,只要代码,本人对xml不了解:)
有能做出来的请发到我的信箱Water@newsoftinc.com.cn分不够还可以再加。
xml文件内容如下:

<?xml version="1.0" encoding="GB2312"?>
<students>

<student>
<name>李明</name>
<ID>040233</ID>
<sex>男</sex>
<department>电力电子</department>
<class>0402</class>
<mark>79</mark>
</student>

<student>
<name>刘小梅</name>
<ID>040212</ID>
<sex>女</sex>
<department>电力电子</department>
<class>0402</class>
<mark>91</mark>
</student>

<student>
<name>何丽莎</name>
<ID>040301</ID>
<sex>女</sex>
<department>经管</department>
<class>0403</class>
<mark>82</mark>
</student>

<student>
<name>郑惠</name>
<ID>040102</ID>
<sex>女</sex>
<department>计算机</department>
<class>0401</class>
<mark>93</mark>
</student>
</students>
...全文
370 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlj113 2005-01-24
  • 打赏
  • 举报
回复
已发送.........
ssm1226 2005-01-24
  • 打赏
  • 举报
回复
楼主需要什么语言环境的代码?asp?~~~
cl_php 2005-01-24
  • 打赏
  • 举报
回复
mark
kv4000 2004-12-24
  • 打赏
  • 举报
回复
关注!
hubingbin 2004-12-23
  • 打赏
  • 举报
回复
下面是编辑页面CRplantxmlmanage.asp

<%@ Language=JScript %>
<html>
<head>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
</head>
<script language=vbscript runat=server>
'作用:去掉字符串前后的空格'
function Trim1(a)
dim b
b = trim(a)
Trim1 = b
end function
</script>
<%
//==========================================================================//
//==================这里是加载动态下拉菜单的代码============================//
var xmldoc,filename;
var filename = Server.MapPath("plant.xml");
var xmldoc = Server.CreateObject("Microsoft.XMLDOM");
//var xmldoc = new ActiveXObject("Microsoft.XMLDOM");

xmldoc.load(filename);
var obj = xmldoc.getElementsByTagName("zuowumingcheng");
var objlength = obj.length;
Response.Write("<script language=javascript>");
Response.Write("\n");
Response.Write("var a = new Array();");
Response.Write("\n");
for(var i=0;i<objlength;i++)
{
Response.Write("a["+i+"] = '"+obj.item(i).text+"';");
Response.Write("\n");
}
Response.Write("var alength ="+objlength);
Response.Write("\n");

Response.Write("</script>");





%>
<script language=javascript>
function select()
{

for(var i=0;i<parseInt(alength);i++)
{
if(a[i])
{
var oOption = document.createElement("OPTION");
oOption.text = a[i];
oOption.value = a[i];
myform.select.options.add(oOption);
}
}
select1();
select2();

}

function select1()
{
for(var i=0;i<parseInt(alength);i++)
{
if(a[i])
{
var oOption = document.createElement("OPTION");
oOption.text = a[i];
oOption.value = a[i];
myform2.del.options.add(oOption);
}
}

}
function select2()
{
for(var i=0;i<parseInt(alength);i++)
{
if(a[i])
{
var oOption = document.createElement("OPTION");
oOption.text = a[i];
oOption.value = a[i];
myform3.rep.options.add(oOption);
}
}

}
</script>

<body onload="select()">
<table width=800 cellpadding=0 cellspacing=0 border=1>
<tr><td>你现在有的分类</td></tr>
<tr><td>
<form action="" id=myform name=myform method=post>
<select id=select name=select>
</select>
</form>
</td></tr>
<tr><td>添加分类</td></tr>
<tr><td>
<form action="CRPlantXmlManage.asp" method=post name="myform1" id="myform1">
请输入你要添加的分类:<input type=text id=add name=add >
<input type=hidden id=addhidden name=addhidden value="add">
<input type=hidden id="Hidden1" name=addhidden1 value="add1">
<input type=submit >

</form></td></tr>
<tr><td>
<form action="CRPlantXmlManage.asp" method=post name="myform2" id="myform2">
请选择你要删除的分类:<select name=del id=del >
</select>

<input type=hidden id="delhidden" name=delhidden value="del">
<input type=hidden id="delhidden1" name=delhidden1 value="del1">
<input type=submit value="删除">


</form>

</td></tr>
<tr><td>

<form action ="CRPlantXmlManage.asp" method=post name="myform3" id="myform3">
请选择你要修改的分类:<select name=rep id=rep></select>
<input type=hidden id="rephidden" name="rephidden" value="rep">
<input type=hidden id="rephidden1" name="rephidden1" value="rep1">
请输入修改后的分类:<input type=text name=repvalue>
<input type=submit value="提交">



</form>

</td></tr>

</table>
</body>
</html>
<%
var add = request("addhidden");
var add1 = request("addhidden1");
var del = request("delhidden");
var del1 = request("delhidden1");
var rep = request("rephidden");
var rep1 = request("rephidden1");
var repvalue = request("repvalue");
if(add=="add"&&add1=="add1")
{

var addelment = Request("add");
var zuowu = xmldoc.createElement("zuowu");
var zuowumingcheng = xmldoc.createElement("zuowumingcheng");
zuowumingcheng.text = addelment;

var root = xmldoc.selectNodes("/plant");
var root1 = root.item(0);
root1.appendChild(zuowu);
zuowu.appendChild(zuowumingcheng);


xmldoc.save(filename);
Response.Redirect("CRPlantXmlManage.asp");

}
if(del=="del"&&del1=="del1")
{
var delelement = Request("del");
var root = xmldoc.selectNodes("/plant");
var root1 = root.item(0);
var str = "//zuowu[zuowumingcheng='"+delelement+"']";
var delelement1 = xmldoc.selectSingleNode(str);
root1.removeChild(delelement1);
xmldoc.save(filename);
Response.Redirect("CRPlantXmlManage.asp");

}
if(rep=="rep"&&rep1=="rep1")
{
var repelement = Request("rep");
var root = xmldoc.selectNodes("/plant");
var root1 = root.item(0);
var str = "//zuowu[zuowumingcheng='"+repelement+"']";
var repelement1 = xmldoc.selectSingleNode(str);
//root1.removeChild(repelement1);

var addelment = Request("repvalue");
var zuowu = xmldoc.createElement("zuowu");
var zuowumingcheng = xmldoc.createElement("zuowumingcheng");
zuowumingcheng.text = addelment;

var root = xmldoc.selectNodes("/plant");
var root1 = root.item(0);
root1.appendChild(zuowu);
zuowu.appendChild(zuowumingcheng);
var str2 = "//zuowu[zuowumingcheng='"+addelment+"']";
xmldoc.documengElement



xmldoc.save(filename);
Response.Redirect("CRPlantXmlManage.asp");


}

%>
hubingbin 2004-12-23
  • 打赏
  • 举报
回复
给一个你参考一下吧 我最近要考试了 下面是plant.xml文件

<?xml version="1.0" encoding="utf-8" ?>
- <plant>
- <zuowu>
<zuowumingcheng>作物2</zuowumingcheng>
</zuowu>
- <zuowu>
<zuowumingcheng>作物3</zuowumingcheng>
</zuowu>
- <zuowu>
<zuowumingcheng>作物4</zuowumingcheng>
</zuowu>
- <zuowu>
<zuowumingcheng>作物6</zuowumingcheng>
</zuowu>
- <zuowu>
<zuowumingcheng>大胆地</zuowumingcheng>
</zuowu>
</plant>
yzhshty 2004-12-23
  • 打赏
  • 举报
回复
郁闷……
yzhshty 2004-12-23
  • 打赏
  • 举报
回复
老大我不会用呀!说白了我就是要一个直接可以运行的,就麻烦你给我写全吧!:)
孟子E章 2004-12-23
  • 打赏
  • 举报
回复
Set xmldom = CreateObject("Msxml2.DOMDcoument")
xmldom.async= False
xmldom.load Server.Mappath("x.xml")
Set nodes = xmldom.selectNodes("//student[sex='女']")
for each node in nodes
Set n1=node.selectSingleNode("name")
Response.Write n1.text
n1.text="孟子"
Response.Write n1.text
Next

Response.Write Server.HtmlEncode(xmldom.xml)
Response.Write "<hr>"

Set nodes = xmldom.selectNodes("//student[sex='女']")
for each node in nodes
Set n1=node.selectSingleNode("name")
n1.parentNode.removeChild n1
Next
Response.Write Server.HtmlEncode(xmldom.xml)
Response.Write "<hr>"
xmldom.Save Server.Mappath("x.xml")
孟子E章 2004-12-23
  • 打赏
  • 举报
回复
Set xmldom = CreateObject("Msxml2.DOMDcoument")
xmldom.async= False
xmldom.load Server.Mappath("x.xml")
Set nodes = xmldom.selectNodes("//student[sex='女']")
for each node in nodes
Set n1=node.selectSingleNode("name")
Response.Write n1.text
n1.text="孟子"
Response.Write n1.text
Next
xmldom.Save Server.Mappath("x.xml")
newmsoft 2004-12-23
  • 打赏
  • 举报
回复
小弟实在是傻呀,不知道怎么发言,借宝地借个问题,希望楼主不要介意,谢过先!

show_op="[<a href='zoom.asp?type=cl_del&del_id="&rs("auto_id")&"' onclick='return confirm('确定删除将不可恢复,你确定执行删除操作吗?');'>删除</a>]"

Response.write show_op

我就不明白了,我咋就得不到期望的对话框哩?
redez 2004-12-23
  • 打赏
  • 举报
回复
主要的查询手段是xpath
[]里加查询的条件就可以了

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧