久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

  • <i id='01XiL'><tr id='01XiL'><dt id='01XiL'><q id='01XiL'><span id='01XiL'><b id='01XiL'><form id='01XiL'><ins id='01XiL'></ins><ul id='01XiL'></ul><sub id='01XiL'></sub></form><legend id='01XiL'></legend><bdo id='01XiL'><pre id='01XiL'><center id='01XiL'></center></pre></bdo></b><th id='01XiL'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='01XiL'><tfoot id='01XiL'></tfoot><dl id='01XiL'><fieldset id='01XiL'></fieldset></dl></div>

  • <small id='01XiL'></small><noframes id='01XiL'>

    <tfoot id='01XiL'></tfoot>
        • <bdo id='01XiL'></bdo><ul id='01XiL'></ul>
        <legend id='01XiL'><style id='01XiL'><dir id='01XiL'><q id='01XiL'></q></dir></style></legend>

        在 C# 中使用 Html 敏捷性解析表格、單元格

        Parsing tables, cells with Html agility in C#(在 C# 中使用 Html 敏捷性解析表格、單元格)

              <bdo id='F4Drs'></bdo><ul id='F4Drs'></ul>

              <legend id='F4Drs'><style id='F4Drs'><dir id='F4Drs'><q id='F4Drs'></q></dir></style></legend>
                <tbody id='F4Drs'></tbody>

                1. <tfoot id='F4Drs'></tfoot>

                  <small id='F4Drs'></small><noframes id='F4Drs'>

                2. <i id='F4Drs'><tr id='F4Drs'><dt id='F4Drs'><q id='F4Drs'><span id='F4Drs'><b id='F4Drs'><form id='F4Drs'><ins id='F4Drs'></ins><ul id='F4Drs'></ul><sub id='F4Drs'></sub></form><legend id='F4Drs'></legend><bdo id='F4Drs'><pre id='F4Drs'><center id='F4Drs'></center></pre></bdo></b><th id='F4Drs'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='F4Drs'><tfoot id='F4Drs'></tfoot><dl id='F4Drs'><fieldset id='F4Drs'></fieldset></dl></div>

                  本文介紹了在 C# 中使用 Html 敏捷性解析表格、單元格的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我需要解析 Html 代碼.更具體地說,解析所有表中每一行的每個單元格.每行代表一個對象,每個單元格代表不同的屬性.我想解析這些以便能夠編寫一個包含每個數據的 XML 文件(沒有無用的 HTML 代碼).我已經成功地解析了 HTML 文件中的每一列,但現在我不知道將其寫入 XML 文件的選項是什么.我很困惑.

                  I need to parse Html code. More specifically, parse each cell of every rows in all tables. Each row represent a single object and each cell represent different properties. I want to parse these to be able to write an XML file with every data inside (without the useless HTML code). I have successfully been able to parse each column from the HTML file but now I don't know what my options are for writing this to an XML file. I am baffled.

                  HTML:

                  <tr><tr> 
                  <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF"> 
                      1
                  </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="left"> 
                          <a href="/ice/player.htm?id=8471675">Sidney Crosby</a> 
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="center"> 
                          PIT
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="center"> 
                          C
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          39
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          32
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          33
                      </td> 
                      <td class="statBox sorted" style="border-width:0px 1px 1px 0px; background-color: #E0E0E0" align="right"> 
                          <font color="#000000"> 
                              65
                          </font> 
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          20
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          29
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          10
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          1
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          3
                      </td> 
                      <td class="statBox" style="border-width:0px 0px 1px 0px; background-color: #FFFFFF" align="right"> 
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          0
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          154
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          20.8
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          21:54
                      </td> 
                      <td class="statBox" style="border-width:0px 1px 1px 0px; background-color: #FFFFFF" align="right"> 
                          22.6
                      </td> 
                      <td class="statBox" style="border-width:0px 0px 1px 0px; background-color: #FFFFFF" align="right"> 
                          55.7
                      </td> 
                  </tr></tr>
                  

                  C#:

                  using HtmlAgilityPack;
                  
                  namespace Stats
                  {
                      class StatsParser
                      {
                          private string htmlCode;
                          private static string fileName = "[" + DateTime.Now.ToShortDateString() + " NHL Stats].xml";
                  
                          public StatsParser(string htmlCode)
                          {
                              this.htmlCode = htmlCode;
                              this.ParseHtml();
                          }
                  
                          public void ParseHtml()
                      {
                          HtmlDocument doc = new HtmlDocument();
                          doc.LoadHtml(htmlCode);
                  
                          try
                          {
                              // Get all tables in the document
                              HtmlNodeCollection tables = doc.DocumentNode.SelectNodes("http://table");
                  
                              // Iterate all rows in the first table
                              HtmlNodeCollection rows = tables[0].SelectNodes(".//tr");
                              for (int i = 0; i < rows.Count; ++i)
                              {
                  
                                  // Iterate all columns in this row
                                  HtmlNodeCollection cols = rows[i].SelectNodes(".//td[@class='statBox']");
                                  for (int j = 0; j < cols.Count; ++j)
                                  {
                  
                                      // Get the value of the column and print it
                                      string value = cols[j].InnerText;
                                      if (value!="")
                                          System.Windows.MessageBox.Show(value);
                                  }
                              }
                          }
                          catch (NullReferenceException)
                          {
                              System.Windows.Forms.MessageBox.Show("Exception!!");
                          }
                      }
                  

                  XML:

                  <?xml version="1.0" encoding="utf-8" ?>
                  
                  <Stats Date="2011-01-01">
                    <Player Rank="1">
                      <Name>Sidney Crosby</Name>
                      <Team>PIT</Team>
                      <Position>C</Position>
                      <GamesPlayed>39</GamesPlayed>
                      <Goals>32</Goals>
                      <Assists>33</Assists>
                    </Player>
                  </Stats>
                  

                  推薦答案

                  看了一圈MSDN,終于找到了解決自己問題的實現方案:

                  After looking around MSDN, I finally found an implementation solution to my problem:

                      using System;
                      using HtmlAgilityPack;
                      using System.Xml;
                  
                      namespace HockeyStats
                      {
                          class StatsParser
                          {
                              private string htmlCode;
                              private static string fileName = "[" + DateTime.Now.ToShortDateString() + " NHL Stats].xml";
                  
                              public StatsParser(string htmlCode)
                              {
                                  this.htmlCode = htmlCode;
                  
                                  this.ParseHtml();
                              }
                  
                              public void ParseHtml()
                              {
                  
                                  HtmlDocument doc = new HtmlDocument();
                                  doc.LoadHtml(htmlCode);
                                  XmlWriter writer = null;
                  
                                  try
                                  {
                                      // Create an XmlWriterSettings object with the correct options. 
                                      XmlWriterSettings settings = new XmlWriterSettings();
                                      settings.Indent = true;
                                      settings.IndentChars = ("  ");
                                      settings.OmitXmlDeclaration = false;
                  
                                      // Create the XmlWriter object and write some content.
                                      writer = XmlWriter.Create(@"...."+fileName, settings);
                                      writer.WriteStartElement("Stats");
                                      writer.WriteAttributeString("Date", DateTime.Now.ToShortDateString());
                  
                                  // Iterate all rows within another row
                                  HtmlNodeCollection rows = doc.DocumentNode.SelectNodes(".//tr/tr");
                                  for (int i = 0; i < rows.Count; ++i)
                                  {
                                      // Iterate all columns in this row
                                      HtmlNodeCollection cols = rows[i].SelectNodes(".//td[@class='statBox']");
                                      for (int j = 0; j < 20; ++j)
                                      {
                                                  switch (j)
                                                  {
                                                      case 0:
                                                          {
                                                              writer.WriteStartElement("Player");
                                                              writer.WriteAttributeString("Rank", cols[j].InnerText.Trim()); break;
                                                          }
                                                      case 1: writer.WriteElementString("Name", cols[j].InnerText.Trim()); break;
                                                      case 2: writer.WriteElementString("Team", cols[j].InnerText.Trim()); break;
                                                      case 3: writer.WriteElementString("Pos", cols[j].InnerText.Trim()); break;
                                                      case 4: writer.WriteElementString("GP", cols[j].InnerText.Trim()); break;
                                                      case 5: writer.WriteElementString("G", cols[j].InnerText.Trim()); break;
                                                      case 6: writer.WriteElementString("A", cols[j].InnerText.Trim()); break;
                                                      case 7: writer.WriteElementString("PlusMinus", cols[j].InnerText.Trim()); break;
                                                      case 8: writer.WriteElementString("PIM", cols[j].InnerText); break;
                                                      case 9: writer.WriteElementString("PP", cols[j].InnerText); break;
                                                      case 10: writer.WriteElementString("SH", cols[j].InnerText); break;
                                                      case 11: writer.WriteElementString("GW", cols[j].InnerText); break;
                                                      case 12: writer.WriteElementString("OT", cols[j].InnerText); break;
                                                      case 13: writer.WriteElementString("Shots", cols[j].InnerText); break;
                                                      case 14: writer.WriteElementString("ShotPctg", cols[j].InnerText); break;
                                                      case 15: writer.WriteElementString("TOIPerGame", cols[j].InnerText); break;
                                                      case 16: writer.WriteElementString("ShiftsPerGame", cols[j].InnerText); break;
                                                      case 17: writer.WriteElementString("FOWinPctg", cols[j].InnerText); break;
                  
                                                  }
                                              }
                                          }
                                          writer.WriteEndElement();
                                      }
                                      writer.WriteEndElement();
                                      writer.Flush();
                                  }
                                  finally
                                  {
                                      if (writer != null)
                                          writer.Close();
                                  }
                              }
                          }
                      }
                  

                  提供以下 XML 文件作為輸出:

                  which gives the following XML file as an output:

                  <?xml version="1.0" encoding="utf-8" ?> 
                  <Stats Date="2011-01-01">
                   <Player Rank="1">
                    <Name>Sidney Crosby</Name> 
                    <Team>PIT</Team> 
                    <Pos>C</Pos> 
                    <GP>39</GP> 
                    <G>32</G> 
                    <A>33</A> 
                    <PlusMinus>20</PlusMinus> 
                    <PIM>29</PIM> 
                    <PP>10</PP> 
                    <SH>1</SH> 
                    <GW>3</GW> 
                    <Shots>0</Shots> 
                    <ShotPctg>154</ShotPctg> 
                    <TOIPerGame>20.8</TOIPerGame> 
                    <ShiftsPerGame>21:54</ShiftsPerGame> 
                    <FOWinPctg>22.6</FOWinPctg> 
                   </Player>
                  </Stats>
                  

                  這篇關于在 C# 中使用 Html 敏捷性解析表格、單元格的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Ignore whitespace while reading XML(讀取 XML 時忽略空格)
                  XML to LINQ with Checking Null Elements(帶有檢查空元素的 XML 到 LINQ)
                  Reading XML with unclosed tags in C#(在 C# 中讀取帶有未閉合標簽的 XML)
                  delete element from xml using LINQ(使用 LINQ 從 xml 中刪除元素)
                  Parse malformed XML(解析格式錯誤的 XML)
                  extracting just page text using HTMLAgilityPack(使用 HTMLAgilityPack 僅提取頁面文本)
                  <i id='tkz0P'><tr id='tkz0P'><dt id='tkz0P'><q id='tkz0P'><span id='tkz0P'><b id='tkz0P'><form id='tkz0P'><ins id='tkz0P'></ins><ul id='tkz0P'></ul><sub id='tkz0P'></sub></form><legend id='tkz0P'></legend><bdo id='tkz0P'><pre id='tkz0P'><center id='tkz0P'></center></pre></bdo></b><th id='tkz0P'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='tkz0P'><tfoot id='tkz0P'></tfoot><dl id='tkz0P'><fieldset id='tkz0P'></fieldset></dl></div>

                  <legend id='tkz0P'><style id='tkz0P'><dir id='tkz0P'><q id='tkz0P'></q></dir></style></legend>

                        • <bdo id='tkz0P'></bdo><ul id='tkz0P'></ul>
                            <tbody id='tkz0P'></tbody>

                            <small id='tkz0P'></small><noframes id='tkz0P'>

                            <tfoot id='tkz0P'></tfoot>
                            主站蜘蛛池模板: 欧美美女二区 | 国产最新精品视频 | 激情久久久久 | 亚洲视频中文字幕 | 欧美中文字幕一区 | 成人久久 | 欧美精品一区二区三区在线播放 | h视频免费观看 | 黄色三级免费网站 | 视频一区二区三区在线观看 | www狠狠爱com | 国产探花在线精品一区二区 | 欧美色综合一区二区三区 | 国产视频一区二区三区四区五区 | 欧美一区二区三区四区视频 | 中文字幕一区二区三区日韩精品 | 美国一级片在线观看 | 激情欧美一区二区三区中文字幕 | 天天影视亚洲综合网 | 欧美一区二区综合 | 国产精品视频网址 | 91婷婷韩国欧美一区二区 | 国产精品国产三级国产aⅴ中文 | 精品一区二区在线视频 | 一级a性色生活片久久毛片波多野 | 午夜国产在线 | 国产在线视频一区二区 | 国家aaa的一级看片 h片在线看 | 午夜在线观看免费 | 国产成人精品久久久 | 欧美男人天堂 | www亚洲免费国内精品 | 九九热精品视频在线观看 | 久久逼逼| 国产福利在线 | 精品自拍视频在线观看 | 99精品国产一区二区青青牛奶 | 亚洲精品在| 亚洲h视频 | 日本a网站 | 中文字幕国产一区 |