根节点,对应类名
[XmlRoot("ComponentLog ")]
public class ComponentLog{
}
其他节点,对应属性名
[XmlElement("LogCategory")]
public string logCategory { get; set; }
也可以对应集合(如果同一节点有多个的话)
[XmlElement("LogContent")]
public List<LogContent> logContent { get; set; }
节点里的内容
[XmlAttribute("Content")]
public string content { get; set; }
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<ComponentLog>
<LogCategory>Sign</LogCategory>
<LogContent>
<Key>1</Key>
<ContentCaption Content="内容1" VariableName=""/>
<ContentDetail Content="内容2" VariableName="" />
</LogContent>
<LogContent>
<Key>2</Key>
<ContentCaption Content="内容3" VariableName=""/>
<ContentDetail Content="内容4" VariableName="" />
</LogContent>
</ComponentLog>
FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
if (folderBrowser.ShowDialog() == DialogResult.OK)
{
txtFolderPath.Text = folderBrowser.SelectedPath;
}
/// <param name="textBox">文本框</param>
/// <param name="strText">要显示的内容</param>
private void ShowText(TextBox textBox, String strText)
{
if (this.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate () { ShowText(textBox, strText+"\r\n"); });
}
else
{
textBox.Text += DateTime.Now + " " + strText+"\r\n";
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
System.Environment.Exit(0);
}
private void txtReceive_TextChanged(object sender, EventArgs e)
{
txtReceive.SelectionStart = txtReceive.Text.Length;
txtReceive.ScrollToCaret();
}
//str1不为空,就将str1和“ ”连接
string journalString = str1 != string.Empty ? string.Concat(str1, " ") : string.Empty;
string xmlPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "JournalLog\\123.xml");
Encoding gb2312 = Encoding.GetEncoding("GB2312");
string strRead = File.ReadAllText(xmlPath,Encoding.Default);
//sendByte是字节,将其转换成string
string strSendData = gb2312.GetString(sendByte);
或者string strSendData = Encoding.UTF8.GetString(sendByte);