using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
namespace ConsoleApplication
{
class XMLUtils
{
public string dbContection = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={HOST})(PORT={PORT})))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={SERVICE_NAME})));User Id={UID};Password={PWD};";
public const string INFO = "info";
public const string DATABASE = "database";
public const string CONTECTION = "contection";
public const string SMTP = "smtp";
public const string HOST = "host";
public const string PORT = "port";
public const string USERNAME = "username";
public const string PASSWORD = "password";
public const string MAIL = "mail";
public const string FROM = "from";
public const string TO = "to";
public const string SENDMAIL = "sendmail";
public const string SUBJECT1 = "subject1";
public const string BODY1 = "body1";
public const string DATAGENERATION = "datageneration";
public const string SUBJECT2 = "subject2";
public const string BODY2 = "body2";
private string xmlPath;
private Dictionary dict = null;
public XMLUtils(string xmlPath)
{
this.xmlPath = xmlPath;
if (File.Exists(xmlPath)){
readXml(xmlPath);
} else {
createXml(xmlPath);
}
}
private void createXml(string xmlPath)
{
XmlTextWriter writer = new XmlTextWriter(xmlPath, System.Text.Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.Indentation = 4;
//
writer.WriteStartDocument();
writer.WriteStartElement(INFO);
writer.WriteStartElement(DATABASE);
writer.WriteStartElement(CONTECTION);
writer.WriteCData(dbContection);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement(SMTP);
writer.WriteElementString(HOST, "SMTP HOST");
writer.WriteElementString(PORT, "SMTP PORT");
writer.WriteElementString(USERNAME, "SMTP USERNAME");
writer.WriteElementString(PASSWORD, "SMTP PASSWORD");
writer.WriteEndElement();
writer.WriteStartElement(MAIL);
writer.WriteElementString(FROM, "FROM");
writer.WriteElementString(TO, "TO");
writer.WriteStartElement(SENDMAIL);
writer.WriteElementString(SUBJECT1, "SUBJECT1");
writer.WriteStartElement(BODY1);
writer.WriteCData("BODY1");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement(DATAGENERATION);
writer.WriteElementString(SUBJECT2, "SUBJECT2");
writer.WriteStartElement(BODY2);
writer.WriteCData("BODY2");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
writer.Close();
}
private void readXml(string xmlPath)
{
dict = new Dictionary();
XmlTextReader reader = new XmlTextReader(new StreamReader(xmlPath, System.Text.Encoding.UTF8));
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.LocalName == CONTECTION)
{
dict.Add(CONTECTION, reader.ReadString().Trim());
}
if (reader.LocalName == HOST)
{
dict.Add(HOST, reader.ReadString().Trim());
}
if (reader.LocalName == PORT)
{
dict.Add(PORT, reader.ReadString().Trim());
}
if (reader.LocalName == USERNAME)
{
dict.Add(USERNAME, reader.ReadString().Trim());
}
if (reader.LocalName == PASSWORD)
{
dict.Add(PASSWORD, reader.ReadString().Trim());
}
if (reader.LocalName == FROM)
{
dict.Add(FROM, reader.ReadString().Trim());
}
if (reader.LocalName == TO)
{
dict.Add(TO, reader.ReadString().Trim());
}
if (reader.LocalName == SUBJECT1)
{
dict.Add(SUBJECT1, reader.ReadString().Trim());
}
if (reader.LocalName == BODY1)
{
dict.Add(BODY1, reader.ReadString().Trim());
}
if (reader.LocalName == SUBJECT2)
{
dict.Add(SUBJECT2, reader.ReadString().Trim());
}
if (reader.LocalName == BODY2)
{
dict.Add(BODY2, reader.ReadString().Trim());
}
}
}
}
public Dictionary getInfo()
{
return dict;
}
}
}
生成XML文件如下:
<?xml version="1.0" encoding="utf-8"?>
<info>
<database>
<contection><![CDATA[Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={HOST})(PORT={PORT})))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={SERVICE_NAME})));User Id={UID};Password={PWD};]]></contection>
</database>
<smtp>
<host>SMTP POST</host>
<port>SMTP PORT</port>
<username>SMTP USERNAME</username>
<password>SMTP PASSWORD</password>
</smtp>
<mail>
<from>FROM</from>
<to>TO</to>
<sendmail>
<subject1>SUBJECT1subject1>
<body1><![CDATA[BODY1]]></body1>
</sendmail>
<datageneration>
<subject2>SUBJECT2</subject2>
<body2><![CDATA[BODY2]]></body2>
</datageneration>
</mail>
</info>
分享到:
相关推荐
使用Document读取及写入XML方法 使用XmlTextWriter写入XML方法 使用XmlTextReader读取XML方法 作用SqlCommand.ExecuteXmlReader()取得XML
System.Xml包含了一些和XML文档的读写操作相关的类,它们分别是:XmlReader、XmlTextReader、XmlValidatingReader、XmlNodeReader、XmlWriter、XmlTextWriter 以及 XmlNode(它的子类包括:XmlDocument、...
适合对XML一知半解的人···,里面有详细实例代码!!不足之处敬请谅解!!!!第一次上传资源!!
6.3.2 XmlTextWriter创建XML文档 254 6.3.3 XmlDocument读取XML文档 256 6.3.4 XmlTextReader读取XML文档 257 6.3.5 在HTML中显示XML中的数据 258 6.3.6 JavaScript获取XML内容 259 6.3.7 项目案例:通用自定义XML...
6.3.2 XmlTextWriter创建XML文档 254 6.3.3 XmlDocument读取XML文档 256 6.3.4 XmlTextReader读取XML文档 257 6.3.5 在HTML中显示XML中的数据 258 6.3.6 JavaScript获取XML内容 259 6.3.7 项目案例:通用自定义XML...
14.2 读写XML 14.2.1 XML 与HTML 14.2.2 创建XML 文档 14.2.3 XML 控件 14.2.4 XML 文件读取类(XmlTextReader) 14.2.5 XML 文件编写类(XmlTextWriter) 14.2.6 XML 文本文档类(XmlDocument) 14.3 XML 串行化 ...
14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 ...
14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 ...
14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 ...
14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 ...
14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 ...