摘要:用GetXML类来取得数据库文件的配置。
using System;
using System.Web;
using System.Xml;
using System.Xml.XPath;
namespace OMC
{
/// <summary>
///
/// </summary>
public class GetXML
{
string PATH;
//The Path of currection application|the path of the file of Connection.config
public GetXML()
{
//Get a path of document
this.PATH=HttpContext.Current.Server.MapPath("./GZYClass/configuration/Connection.config");
}
/// <summary>
/// 这里是用的第一种方法用的是XmlDocument
/// 这里才用循环的方式
/// </summary>
/// <returns></returns>
public string GetContr()
{
string Constr=string.Empty;
XmlDocument XmlDoc=new XmlDocument();
XmlDoc.Load(this.PATH);
XmlNode XmlNo=
XmlDoc.SelectSingleNode("/GZY/DataBase/Connection2[@type='KQ']");
XmlNodeList XmlNL=XmlNo.ChildNodes;
foreach(XmlNode XN in XmlNL)
{
XmlElement XmlE=(XmlElement)XN;
if(XmlE.Name=="DataSource")
{
Constr+=XmlE.InnerText;
}
else if(XmlE.Name=="Initial")
{
Constr+=XmlE.InnerText;
}
else if(XmlE.Name=="Password")
{
Constr+=XmlE.InnerText;
}
else if(XmlE.Name=="UserID")
{
Constr+=XmlE.InnerText;
}
}
return Constr;
}
public void GetViewDataTable()
{
object[] O=new object[2];
}
/// <summary>
/// 这里用到了XPathDocument,这里不需要用到循环
/// 获取考勤的书库连接字符串
/// </summary>
/// <returns></returns>
public string GetContr2()
{
string Constr=string.Empty;
XPathDocument XPD=new XPathDocument(this.PATH);
XPathNavigator XPN=XPD.CreateNavigator();
XPathNodeIterator XNI=
XPN.Select("GZY/DataBase/Connection2[@type='KQ']");
XNI.MoveNext();
Constr=XNI.Current.Value;
return Constr;
}
/// <summary>
/// 获取OA系统数据库连接字符串
/// </summary>
/// <returns></returns>
public string GetOAConstr()
{
string Constr=string.Empty;
XPathDocument XPD=new XPathDocument(this.PATH);
XPathNavigator XPN=XPD.CreateNavigator();
XPathNodeIterator XNI=XPN.Select("GZY/DataBase/Connection[@type='OA']");
XNI.MoveNext();
Constr=XNI.Current.Value;
return Constr;
}
public void gao()
{
}
}
}
xml文件
<?xml version="1.0" encoding="utf-8" ?>
<GZY>
<DataBase>
<Connection>
<DataSource>(local)</DataSource>
<Initial>siadr-oa</Initial>
<Password></Password>
<UserID>sa</UserID>
</Connection>
<SQL>
<Select>
<PopDialog ID="00001" type="Part" Explain="得到window.open()列表">
select * from _GZY_PopDialg where visible='是' order by oderi
</PopDialog>
<PopDialog ID="00002" type="*" Explain="得到表中所有的行">
select * from _GZY_PopDialog
</PopDialog>
</Select>
<Insert></Insert>
<Updata></Updata>
</SQL>
<Connection2 type="KQ" Description="这里是电子考勤的数据库访问字符串">
<DataSource>data source=(local);</DataSource>
<Initial>Initial Catalog=shykq;</Initial>
<Password>Password=;</Password>
<UserID>user ID=sa</UserID>
</Connection2>
<Connection ID="0000001" type="OA" Des="这是获取OA系统的数据库连接字符串">
<DataSource>data source=(local);</DataSource>
<Initial>Initial Catalog=siadr-oa;</Initial>
<Password>Password=;</Password>
<UserID>user ID=sa</UserID>
</Connection>
</DataBase>
<File></File>
</GZY>