用代码生成一个TreeView的XML文件。
一个节点一个节点添加(当然,是用循环)。
一个节点一个节点添加(当然,是用循环)。
解决方案 »
- 代码中有时候类和方法上面带[]的是什么意思
- 每周一自动 生成一次 站点地图 怎么写啊?
- ASP.NET 图片验证码的问题.找了《ASP.NET第一步》里的一个例子,但是无法生成.朱哗写的书.大家帮我看看怎么写这个Page_Load的代码
- 分不多,不过问题也不难
- 页面有FarPoint.Web.Spread.FpSpread控件显示数据时就很慢是啥缘故?
- 菜鸟又卡问题了. :(
- Asp.Net生成静态页面的问题?
- 关系个人温饱问题,高手快点进
- 如何将服务器端的指定目录下的doc文件在服务器端指定打印机打印?
- 如何做个安全asp.net的网站,请指点
- 不能引用System.Data.SQL
- 当韩国队员把郑梦准、希丁克抛上空中的时候!(斑竹千万别删帖)
你看看
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Dim src = Server.UrlDecode(Trim(Request.QueryString("src"))) If src = "" Then
Response.Write("<script language=javascript>alert('错误,参数不能为空');window.close();</script>")
Response.End()
End If
Dim type = Server.UrlDecode(Trim(Request.QueryString("type")))
Dim SqlCmd = "select * from 设备检修计划表 where 检修计划名称='" & src & "'"
DeviceConnection.Open()
Dim ada As New SqlClient.SqlDataAdapter(SqlCmd, DeviceConnection)
Dim dts As New Data.DataSet()
ada.Fill(dts, "设备检修计划表")
Response.ContentEncoding = System.Text.Encoding.Default
Response.Write("<?xml version='1.0' encoding='GB2312' ?>")
'If dts.Tables(0).Rows.Count = 0 Then
'Response.Write("<TREENODES><TREENODE TEXT='没有检修计划'/></TREENODES>")
'Response.End()
'End If
Response.Write("<TREENODES>")
Response.Write("<TREENODE TEXT='炼油设备部<FONT color=red>(" & dts.Tables(0).Rows.Count & "个)</FONT>'>")
DeviceConnection.Close()
If dts.Tables(0).Rows.Count <> 0 Then
If type = "1" Then
read_xml()
Else
read_xml1()
End If
End If
Response.Write("</TREENODE>")
Response.Write("</TREENODES>")
End Sub
'##############################################
'按照部门生成xml
'##############################################
Sub read_xml()
Dim reader As New System.Xml.XPath.XPathDocument(Server.MapPath("..") & "//settings//xml//设备参数范围.xml")
Dim objnav As System.Xml.XPath.XPathNavigator = reader.CreateNavigator
Dim objite As System.Xml.XPath.XPathNodeIterator = objnav.Select("descendant::设备参数范围/设备信息主表/部门/name") While objite.MoveNext
Dim SqlCmd = "select 设备信息主表.设备名称,设备信息主表.部门 from 设备信息主表,设备检修计划表 where 设备检修计划表.检修计划名称='" & Trim(Request.QueryString("src")) & "' and 设备信息主表.设备工艺编号=设备检修计划表.设备工艺编号 and 设备信息主表.部门='" & objite.Current.Value & "'"
DeviceConnection.Open()
Dim ada As New SqlClient.SqlDataAdapter(SqlCmd, DeviceConnection)
Dim dts As New Data.DataSet()
ada.Fill(dts, "部门表")
DeviceConnection.Close()
If dts.Tables(0).Rows.Count <> 0 Then
Response.Write("<TREENODE TEXT='" & objite.Current.Value & "<font color=maroon>(" & dts.Tables(0).Rows.Count & ")</font>'>")
Dim objite1 As System.Xml.XPath.XPathNodeIterator = objnav.Select("descendant::设备参数范围/设备信息主表/设备大类/name")
While objite1.MoveNext
Dim SqlCmd1 = "select 设备信息主表.设备名称,设备信息主表.部门,设备检修计划表.检修任务,设备检修计划表.id from 设备信息主表,设备检修计划表 where 设备检修计划表.检修计划名称='" & Trim(Request.QueryString("src")) & "' and 设备信息主表.设备工艺编号=设备检修计划表.设备工艺编号 and 设备信息主表.部门='" & objite.Current.Value & "' and 设备信息主表.设备大类='" & objite1.Current.Value & "' order by 设备信息主表.设备名称"
DeviceConnection.Open()
Dim ada1 As New SqlClient.SqlDataAdapter(SqlCmd1, DeviceConnection)
Dim dts1 As New Data.DataSet()
ada1.Fill(dts1, "部门表")
DeviceConnection.Close()
If dts1.Tables(0).Rows.Count > 0 Then
Response.Write("<TREENODE TEXT='" & objite1.Current.Value & "<font color=blue>(" & dts1.Tables(0).Rows.Count & ")</font>'>")
Dim j
For j = 0 To dts1.Tables(0).Rows.Count - 1
Response.Write("<TREENODE TEXT='" & Trim(dts1.Tables(0).Rows(j).Item("设备名称")) & "(" & Trim(dts1.Tables(0).Rows(j).Item("检修任务")) & ")' ID='a" & Trim(dts1.Tables(0).Rows(j).Item("id")) & "'/>")
Next
Response.Write("</TREENODE>")
End If
End While
Response.Write("</TREENODE>")
End If End While
End Sub '##############################################
'按照设备分类生成xml
'############################################## Sub read_xml1()
Dim reader As New System.Xml.XPath.XPathDocument(Server.MapPath("..") & "//settings//xml//设备参数范围.xml")
Dim objnav As System.Xml.XPath.XPathNavigator = reader.CreateNavigator
Dim objite As System.Xml.XPath.XPathNodeIterator = objnav.Select("descendant::设备参数范围/设备信息主表/设备大类/name") While objite.MoveNext
Dim SqlCmd = "select 设备信息主表.设备名称,设备信息主表.部门 from 设备信息主表,设备检修计划表 where 设备检修计划表.检修计划名称='" & Trim(Request.QueryString("src")) & "' and 设备信息主表.设备工艺编号=设备检修计划表.设备工艺编号 and 设备信息主表.设备大类='" & objite.Current.Value & "'"
DeviceConnection.Open()
Dim ada As New SqlClient.SqlDataAdapter(SqlCmd, DeviceConnection)
Dim dts As New Data.DataSet()
ada.Fill(dts, "部门表")
DeviceConnection.Close()
If dts.Tables(0).Rows.Count <> 0 Then
Response.Write("<TREENODE TEXT='" & objite.Current.Value & "<font color=maroon>(" & dts.Tables(0).Rows.Count & ")</font>'>")
Dim objite1 As System.Xml.XPath.XPathNodeIterator = objnav.Select("descendant::设备参数范围/设备信息主表/部门/name")
While objite1.MoveNext
Dim SqlCmd1 = "select 设备信息主表.设备名称,设备信息主表.部门,设备检修计划表.检修任务,设备检修计划表.id from 设备信息主表,设备检修计划表 where 设备检修计划表.检修计划名称='" & Trim(Request.QueryString("src")) & "' and 设备信息主表.设备工艺编号=设备检修计划表.设备工艺编号 and 设备信息主表.设备大类='" & objite.Current.Value & "' and 设备信息主表.部门='" & objite1.Current.Value & "' order by 设备信息主表.设备名称"
DeviceConnection.Open()
Dim ada1 As New SqlClient.SqlDataAdapter(SqlCmd1, DeviceConnection)
Dim dts1 As New Data.DataSet()
ada1.Fill(dts1, "部门表")
DeviceConnection.Close()
If dts1.Tables(0).Rows.Count > 0 Then
Response.Write("<TREENODE TEXT='" & objite1.Current.Value & "<font color=blue>(" & dts1.Tables(0).Rows.Count & ")</font>'>")
Dim j
For j = 0 To dts1.Tables(0).Rows.Count - 1
Response.Write("<TREENODE TEXT='" & Trim(dts1.Tables(0).Rows(j).Item("设备名称")) & "(" & Trim(dts1.Tables(0).Rows(j).Item("检修任务")) & ")' ID='a" & Trim(dts1.Tables(0).Rows(j).Item("id")) & "'/>")
Next
Response.Write("</TREENODE>")
End If
End While
Response.Write("</TREENODE>")
End If End While
End Sub