使用 xmlSerializer.Deserialize 读取字符串
using xmlSerializer.Deserialize to read a string
我正在创建一个程序来读取 SVN 以查看每次提交中更改了哪些文件。
我已经让程序获取数据并将其存储到字符串中。我现在需要做的是分析数据。我不想像以前那样创建 xml 文件。我不确定如何分析数据,这可能是它正在读取 xml 文件的代码。
private void Show_Click(object sender, System.EventArgs e)
{
FileStream fileStream = null;
fileStream = new FileStream(Path.Combine(_filePath, @"svn.log"), FileMode.Open, FileAccess.Read, FileShare.Read);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(log));
log logInstance;
lock (xmlSerializer)
{
logInstance = (log)xmlSerializer.Deserialize(fileStream);
}
_dictionary = CreateDictionary(logInstance);
converToText(_dictionary);
}
您可以为此使用一个简单的 StringReader
:
var serializer = new XmlSerializer(typeof(log));
log logInstance;
using (TextReader reader = new StringReader(myXmlString))
{
logInstance = serializer.Deserialize(reader);
}
从 string
而不是文件中读取。
我正在创建一个程序来读取 SVN 以查看每次提交中更改了哪些文件。
我已经让程序获取数据并将其存储到字符串中。我现在需要做的是分析数据。我不想像以前那样创建 xml 文件。我不确定如何分析数据,这可能是它正在读取 xml 文件的代码。
private void Show_Click(object sender, System.EventArgs e)
{
FileStream fileStream = null;
fileStream = new FileStream(Path.Combine(_filePath, @"svn.log"), FileMode.Open, FileAccess.Read, FileShare.Read);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(log));
log logInstance;
lock (xmlSerializer)
{
logInstance = (log)xmlSerializer.Deserialize(fileStream);
}
_dictionary = CreateDictionary(logInstance);
converToText(_dictionary);
}
您可以为此使用一个简单的 StringReader
:
var serializer = new XmlSerializer(typeof(log));
log logInstance;
using (TextReader reader = new StringReader(myXmlString))
{
logInstance = serializer.Deserialize(reader);
}
从 string
而不是文件中读取。