zoukankan      html  css  js  c++  java
  • C# xml压缩包不解压的情况下解析xml内容

     1 string sourceFilePath = @"E:文件拷贝xx37733773.zip";
     2 
     3 FileInfo fileInfo = new FileInfo(sourceFilePath);
     4 long length = fileInfo.Length;
     5 
     6 if (length == 0)
     7 {
     8     return;
     9 }
    10 
    11 using (ZipInputStream zip = new ZipInputStream(File.OpenRead(sourceFilePath)))
    12 {
    13    ZipEntry theEntry;
    14     string destinationDirPath = @"\172.21.3.21liung";
    15     while ((theEntry = zip.GetNextEntry()) != null)
    16     {
    17         destinationDirPath += theEntry.Name;
    18 
    19         using (FileStream streamWriter = new FileStream(destinationDirPath, FileMode.Create, FileAccess.Write, FileShare.Read | FileShare.Write))
    20         {
    21             byte[] bytes = new byte[zip.Length];
    22             zip.Read(bytes, 0, bytes.Length);
    23             streamWriter.Write(bytes, 0, bytes.Length);
    24         }
    25 
    26         XmlTextReader xmlReader = new XmlTextReader(zip);
    27         while (xmlReader.Read())
    28         {
    29             if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name.ToLower() == "fileheader")
    30             {
    31                 string reportTime = xmlReader.GetAttribute("reportTime").Replace("24:00:00", "23:59:59");
    32                 string startTime = xmlReader.GetAttribute("startTime").Replace("24:00:00", "23:59:59");
    33                 string endTime = xmlReader.GetAttribute("endTime").Replace("24:00:00", "23:59:59");
    34 
    35                 break;
    36             }
    37         }
    38     }
    39 }
    40 
    41 Console.ReadKey();
    42 
    43 using (GZipInputStream zip = new GZipInputStream(File.OpenRead(sourceFilePath)))
    44 {
    45     using (XmlTextReader xmlReader = new XmlTextReader(zip))
    46     {
    47         while (xmlReader.Read())
    48         {
    49             // hw没有period,暂时给一个默认值15
    50             if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name.ToLower() == "fileheader")
    51             {
    52                 string reportTime = xmlReader.GetAttribute("reportTime").Replace("24:00:00", "23:59:59");
    53                 string startTime = xmlReader.GetAttribute("startTime").Replace("24:00:00", "23:59:59");
    54                 string endTime = xmlReader.GetAttribute("endTime").Replace("24:00:00", "23:59:59");
    55 
    56                 break;
    57             }
    58         }
    59     }
    60 }
  • 相关阅读:
    辅助随笔:因知识点不足暂时错过的题目
    NOIP2019翻车前写(and 抄)过的代码
    NOIP2019翻车前计划以及日记
    Luogu P3706 [SDOI2017]硬币游戏
    Luogu P5296 [北京省选集训2019]生成树计数
    Luogu P3307 [SDOI2013]项链
    Gaussian整数
    Problem. S
    LOJ6696 复读机 加强版
    数据库约束
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/5603535.html
Copyright © 2011-2022 走看看