• xml读写


     

    namespace ConvenanceCompany.SQLServerDAL
    {
      
    public  class Company:ICompany {

          
    /// <summary>
          
    /// Method to get Company Information
          
    /// </summary>
          
    /// <returns></returns>

          public CompanyInfo GetCompany(string CompanyInfoFileName)
          
    {
              
    //Set up a return value
              CompanyInfo company = null;

              
    //Get Information from xmlfile
              Dictionary<stringstring> companyinfo = ReadCompanyInfoFile(CompanyInfoFileName);

              
    //Fill in company object
              if (companyinfo != null)
              
    {
                  company 
    = new CompanyInfo();
                  
    if (companyinfo.ContainsKey("Name"))
                      company.Name 
    = companyinfo["Name"];
                  
    else
                      company.Name 
    = "";
                  
    if (companyinfo.ContainsKey("InternetAdress"))
                      company.InternetAddress 
    = companyinfo["InternetAdress"];
                  
    else
                      company.InternetAddress 
    = "";
                  
    if (companyinfo.ContainsKey("BriefIntroduction"))
                      company.BriefIntroduction 
    = companyinfo["BriefIntroduction"];
                  
    else
                      company.BriefIntroduction 
    = "";
                  
    if (companyinfo.ContainsKey("TelFirst"!= null)
                      company.TelFirst 
    = companyinfo["TelFirst"];
                  
    else
                      company.TelFirst 
    = "";
                  
    if (companyinfo.ContainsKey("TelSecond"))
                      company.TelSecond 
    = companyinfo["TelSecond"];
                  
    else
                      company.TelSecond 
    = "";
                  
    if (companyinfo.ContainsKey("TelMobile"))
                      company.TelMobile 
    = companyinfo["TelMobile"];
                  
    else
                      company.TelMobile 
    = "";
                  
    if (companyinfo.ContainsKey("Postalcode"))
                      company.Postalcode 
    = companyinfo["Postalcode"];
                  
    else
                      company.Postalcode 
    = "";
                  
    if (companyinfo.ContainsKey("Email"))
                      company.Email 
    = companyinfo["Email"];
                  
    else
                      company.Email 
    = "";
                  
    if (companyinfo.ContainsKey("Address"))
                      company.Address 
    = companyinfo["Address"];
                  
    else
                      company.Address 
    = "";
                  
    if (companyinfo.ContainsKey("Copyright"))
                      company.Copyright 
    = companyinfo["Copyright"];
                  
    else
                      company.Copyright 
    = "";
              }

              
    return company;
           }


          
    public Dictionary<stringstring> ReadCompanyInfoFile(string CompanyInfoFileName)
          
    {
              
    //Memory CompanyInfo file inforomation
              Dictionary<stringstring> Companyinfo = new Dictionary<stringstring>();
              XmlTextReader readerCompanyInfo 
    = null;
              
    string startElement = "";
              
    string endElement = "";
              
    string textNodeContent = "";
              
    bool identifierTextNodeContent = false;//标记内容是否为空
              try
              
    {
                  readerCompanyInfo 
    = new XmlTextReader(CompanyInfoFileName);
                  
    while (readerCompanyInfo.Read())
                  
    {
                      
    switch (readerCompanyInfo.NodeType)
                      
    {
                          
    case XmlNodeType.Element:
                              startElement 
    = readerCompanyInfo.Name;
                              identifierTextNodeContent 
    = false;
                              
    break;
                          
    case XmlNodeType.Text:
                              identifierTextNodeContent 
    = true;
                              textNodeContent 
    = readerCompanyInfo.Value;
                              
    break;
                          
    case XmlNodeType.EndElement:
                              endElement 
    = readerCompanyInfo.Name;
                              
    if (startElement == endElement)
                              
    {
                                  
    if (identifierTextNodeContent)
                                      Companyinfo.Add(endElement, textNodeContent);
                                  
    else
                                      Companyinfo.Add(endElement, 
    "");
                              }

                              
    break;
                      }

                  }

              }

              
    catch (XmlException )
              
    {
                  Companyinfo 
    = null;
              }

              
    finally
              
    {
                  
    //Close CompanyInfo file!
                  if(readerCompanyInfo!=null)
                      readerCompanyInfo.Close();
              }

              
    return Companyinfo;
          }


          
    /// <summary>
          
    /// Mothod to modify companyinfo
          
    /// </summary>
          
    /// <returns></returns>

          public bool ModifyCompany(string CompanyInfoFileName,string name, string internetAdress, string briefIntroduction, string telFirst, string telSecond, string telMobile, string postalcode, string email, string address, string copyright)
          
    {
              XmlTextWriter xmlCompanyInfo;
              
    try
              
    {
                  xmlCompanyInfo 
    = new XmlTextWriter(CompanyInfoFileName, System.Text.Encoding.GetEncoding("GB2312"));
                  xmlCompanyInfo.Formatting 
    = Formatting.Indented;
                  xmlCompanyInfo.Indentation 
    = 3;

                  xmlCompanyInfo.WriteStartDocument();
                  xmlCompanyInfo.WriteStartElement(
    "Company");

                  xmlCompanyInfo.WriteStartElement(
    "Name");
                  xmlCompanyInfo.WriteString(name);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "InternetAdress");
                  xmlCompanyInfo.WriteString(internetAdress);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "BriefIntroduction");
                  xmlCompanyInfo.WriteString(briefIntroduction);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "Tel");
                  xmlCompanyInfo.WriteStartElement(
    "TelFirst");
                  xmlCompanyInfo.WriteString(telFirst);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "TelSecond");
                  xmlCompanyInfo.WriteString(telSecond);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "TelMobile");
                  xmlCompanyInfo.WriteString(telMobile);
                  xmlCompanyInfo.WriteEndElement();
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "Postalcode");
                  xmlCompanyInfo.WriteString(postalcode);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "Email");
                  xmlCompanyInfo.WriteString(email);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "Address");
                  xmlCompanyInfo.WriteString(address);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteStartElement(
    "Copyright");
                  xmlCompanyInfo.WriteString(copyright);
                  xmlCompanyInfo.WriteEndElement();

                  xmlCompanyInfo.WriteEndElement();
                  xmlCompanyInfo.Close();

              }

              
    catch (XmlException e)
              
    {
                  
    return false;
              }

              
    finally
              
    {
                  
    //if (xmlCompanyInfo != null)
                      ////xmlCompanyInfo.Close();
              }

              
    return true;
          }

        }

    }


    上面是对下面xml文件进行读写:

    <?xml version="1.0" encoding="gb2312"?>
    <Company>
       
    <Name />
       
    <InternetAdress />
       
    <BriefIntroduction />
       
    <Tel>
          
    <TelFirst />
          
    <TelSecond />
          
    <TelMobile />
       
    </Tel>
       
    <Postalcode />
       
    <Email />
       
    <Address />
       
    <Copyright />
    </Company>
  • 相关阅读:
    Django模型层之ORM
    bzoj1037 [ZJOI2008]生日聚会
    bzoj4423 [AMPPZ2013]Bytehattan
    bzoj1018 [SHOI2008]堵塞的交通
    关于弦图一些问题的解法
    bzoj1006 [HNOI2008]神奇的国度
    bzoj2561 最小生成树
    bzoj3720 Gty的妹子树
    bzoj3489 A simple rmq problem
    bzoj4066 简单题
  • 原文地址:https://www.cnblogs.com/wuming/p/1222807.html
Copyright © 2020-2023  润新知