XML文件如下:
view plaincopy to clipboardprint? <?xml version="1.0" encoding="utf-8" ?> <webManager> <gotoURL>http://localhost/E8ITSM/Default.aspx?goto=1#phoneno=</gotoURL> <inputUSER>txtUserName</inputUSER> <inputPASSWORD>txtPassword</inputPASSWORD> <inputBUTTON>cmdOK</inputBUTTON> <beforeLOADSLEEP>3000</beforeLOADSLEEP> <afterLOADSLEEP>1000</afterLOADSLEEP> </webManager> <?xml version="1.0" encoding="utf-8" ?> <webManager> <gotoURL>http://localhost/E8ITSM/Default.aspx?goto=1#phoneno=</gotoURL> <inputUSER>txtUserName</inputUSER> <inputPASSWORD>txtPassword</inputPASSWORD> <inputBUTTON>cmdOK</inputBUTTON> <beforeLOADSLEEP>3000</beforeLOADSLEEP> <afterLOADSLEEP>1000</afterLOADSLEEP> </webManager>
读取XML文件的方法
class xmlManager { public static String getXmlData(String value) //XMLDocument读取方式 { String txt=""; XmlDocument xd = new XmlDocument(); xd.Load("systemConfig.xml"); String stxt = "webManager/" + value; XmlNode xn = xd.SelectSingleNode(stxt); return xn.InnerText; }
public static String readXML(String value) // textReader读取方式
{
XmlTextReader xtr=new XmlTextReader("systemConfig.xml"); while(xtr.Read()) { if (xtr.LocalName.Equals(value)) { txt=xtr.ReadString(); } }
}
上面就是一点简单的xml文件读取方法,需要说明的是。用法是不变的,产生的作用是多变的。
以上方法比较适合,一些动态系统参数的配置,它可比一般的文件好操作得多。
下面扩展下xmlDocument的用法吧, 我本完全可以用下面的方法来替代一些实体类的应用。
我们可以用 XMLDocumnetAdd方法往xmlDocument文件里加一些值,在getDocumnet
方法里读取,想想看我们在传对像给数据层做持久化时,他是不是很实用呢?
private XmlDocument XMLDocumnetAdd() //给xmlDocument文件添加值
{ #region Master_myGetFormsValue FieldValues fv = new FieldValues(); fv.Add("L_Name", cfftName.Value.Trim()); fv.Add("L_SDATE", cfnCount.Value.ToString().Trim()); fv.Add("L_Edate", cfrContent.Value.Trim()); fv.Add("L_CountDay", cddSdate.dateTime.ToString().Trim()); fv.Add("L_Content", cfcdType.CatelogID.ToString().Trim()); XmlDocument xmlDoc = fv.GetXmlObject(); #endregion return xmlDoc; }
public void getDocumnet(){ //动态获取xmlDocument对象的值
String name=StringTool.SqlQ(fv.GetFieldValue("L_Name").Value) ;
Date sdate=StringTool.EmptyToNullDate(fv.GetFieldValue("L_SDATE").Value) ;
Dateedate= StringTool.EmptyToNullDate(fv.GetFieldValue("L_Edate").Value) ;
String countday= StringTool.SqlQ(fv.GetFieldValue("L_CountDay").Value);
String Content=.StringToolSqlQ(fv.GetFieldValue("L_Content").Value) ;
}
|