【发布时间】:2014-08-19 15:01:59
【问题描述】:
我有一些数据要存储在 xml 文件中。轻松的故事!为了使它不可读,我已经压缩了它。这应该可以正常工作!但我无法读取 xml 内容!
我以前写的代码:
using( FileStream fileStream = new FileStream( filepath, FileMode.Create ) ) {
using( GZipStream zipStream = new GZipStream( fileStream , CompressionMode.Compress ) ) {
using( XmlWriter xmlWriter = XmlWriter.Create( zipStream, new XmlWriterSettings() {
Indent = true,
Encoding = Encoding.UTF8,
ConformanceLevel = ConformanceLevel.Fragment }
) ) {
xmlWriter.WriteString( xmlDocument.OuterXml );
}
}
}
到目前为止我用来阅读的代码:
using( FileStream fileStream = new FileStream( filepath, FileMode.Open ) )
{
using( GZipStream zipStream = new GZipStream( fileStream , CompressionMode.Decompress ) )
{
using( XmlReader xmlReader = XmlReader.Create( zipStream, new XmlReaderSettings() { ConformanceLevel = ConformanceLevel.Fragment } ) )
{
xmlReader.MoveToContent();
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(xmlReader);
}
}
}
但它没有按预期工作。
xml文件看起来很简单:
<data>
<name>bill</name>
<age>45</age>
</data>
<data>
<name>john</name>
<age>32</age>
</data>
<data>
<name>bill</name>
<age>68</age>
</data>
我想使用
XmlNodeList xmlNodeList = xmlDocument.GetElementsByTagName( "data" );
我错过了什么?感谢您的任何提示。
【问题讨论】:
标签: c# xml filestream xmlreader gzipstream