1. 程式人生 > >C#-XML檔案提取字串+字串存為XML檔案+建立XML(自定義節點)檔案+讀取節點內容

C#-XML檔案提取字串+字串存為XML檔案+建立XML(自定義節點)檔案+讀取節點內容

一、將字串寫入xml檔案(並儲存) 
寫入: 
XmlDocument xdoc = new XmlDocument(); 
xdoc.LoadXml(“xmlstring”); 
儲存: 
xdoc.Save(“pathsave.xml”)

二、將xml檔案賦值到字串 
讀取xml檔案: 
XmlDocument xdoc = new XmlDocument(); 
xdoc.Load(“pathload.xml”); 
返回字串: 
xdoc.InnerXml :xmlstring是你的xml字串

三、根據節點建立XML檔案 
XmlTextWriter myXmlTextWriter = new XmlTextWriter(System.Web.HttpContext.Current.Server.MapPath(path), System.Text.Encoding.UTF8);

myXmlTextWriter.Formatting = Formatting.Indented;

myXmlTextWriter.WriteStartDocument(false);

myXmlTextWriter.WriteStartElement(“Respond”); //根節點

myXmlTextWriter.WriteStartElement(“head”); //head節點

myXmlTextWriter.WriteElementString(“Return_Code”, 資料值); //head節點的內容節點 
myXmlTextWriter.WriteElementString(“Return_Desc”, 資料值); 
myXmlTextWriter.WriteElementString(“Return_Msg”, 資料值);

myXmlTextWriter.WriteEndElement(); //head節點結束 
myXmlTextWriter.WriteEndElement();//根節點結束

myXmlTextWriter.Flush(); 
myXmlTextWriter.Close();

四、按照節點讀取xml檔案 
1.先建立Respond實體類:(string * get;set;) 
內容包括 
sting Return_code,Return_msg,Return_desc

/*
 * 獲取RespondLog日誌資訊
 * */
public List<Respond> GetRespondLogXML(string path)
{
    XmlDocument doc = new XmlDocument();
    doc.Load(System.Web.HttpContext.Current.Server.MapPath(path));
    XmlNode xn = doc.SelectSingleNode("Respond");
    XmlNodeList xnl = xn.ChildNodes;
    List<Respond> logList = new List<Respond>();
    foreach (XmlNode xn1 in xnl)
    {
        Respond log = new Respond();
        XmlElement xe = (XmlElement)xn1;
        XmlNodeList xnl0 = xe.ChildNodes;
        log.Return_code = xnl0.Item(0).InnerText;
        log.Return_msg = xnl0.Item(1).InnerText;
        log.Return_desc = xnl0.Item(2).InnerText;
        logList.Add(log);
    }
    return logList;
}

//讀取Respond.xml檔案資訊 
List logList = new List(); 
logList = GetRespondLogXML(Respondlog); 
Return_code = logList[0].Return_code; 
Return_msg = logList[0].Return_msg; 
Return_desc = logList[0].Return_desc;