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 }
  • 相关阅读:
    mysql性能分析工具
    vim使用大全
    Vue computed属性
    模板题 + KMP + 求最小循环节 --- HDU 3746 Cyclic Nacklace
    Greedy --- HNU 13320 Please, go first
    DFS --- HNU 13307 Galaxy collision
    HNU 13308 Help cupid
    Linux
    dp
    2015 Multi-University Training Contest 2 1006 Friends
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/5603535.html
Copyright © 2011-2022 走看看