private void parserTR(hParser.INode node) { hParser.Tags.TableRow tagTR = getTagRow(node); //TD在子节点 if (tagTR.Headers != null && tagTR.Headers.Count() > 0) { for (int i = 0; i < tagTR.Headers.Count(); i++) { var header = tagTR.Headers[i] as hParser.Tags.TableHeader; // th if (header.TagName == "TH" && !string.IsNullOrEmpty(header.StringText)) { parseResult += header.TagName + ":\r\nStringText:" + header.StringText + " ChildrenHTML:" + header.ChildrenHTML + " StartPosition:" + header.StartPosition.ToString() + " EndPosition:" + header.EndPosition.ToString() + "\r\n"; } } } if ((tagTR.Headers == null || tagTR.Headers.Count() == 0) && tagTR.ChildrenAsNodeArray != null && tagTR.ChildrenAsNodeArray.Count() > 0) { for (int i = 0; i < tagTR.ChildrenAsNodeArray.Count(); i++) { var colum = tagTR.ChildrenAsNodeArray[i] as hParser.Tags.TableColumn; //td if (colum != null && colum.TagName == "TD" && !string.IsNullOrEmpty(colum.StringText) && colum.StringText != "\n") { parseResult += colum.TagName + ":\r\nStringText:" + colum.StringText + " ChildrenHTML:" + colum.ChildrenHTML + " StartPosition:" + colum.StartPosition.ToString() + " EndPosition:" + colum.EndPosition.ToString() + "\r\n"; } } } }
private hParser.Tags.TableRow parserTR(hParser.INode node) { hParser.Tags.TableRow tagTR = getTagRow(node); bool isValid = false; //TD在子节点 //抓取th if (tagTR.Headers != null && tagTR.Headers.Count() > 0) { for (int i = 0; i < tagTR.Headers.Count(); i++) { var header = tagTR.Headers[i] as hParser.Tags.TableHeader; // th if (header.TagName == "TH" && !string.IsNullOrEmpty(header.StringText)) { // parseResult += header.TagName + ":\r\nStringText:" + header.StringText + " ChildrenHTML:" + header.ChildrenHTML //+ " StartPosition:" + header.StartPosition.ToString() + " EndPosition:" + header.EndPosition.ToString() + "\r\n"; } } } //抓取td if ((tagTR.Headers == null || tagTR.Headers.Count() == 0) && tagTR.ChildrenAsNodeArray != null && tagTR.ChildrenAsNodeArray.Count() > 0 ) { for (int i = 0; i < tagTR.ChildrenAsNodeArray.Count(); i++) { var colum = tagTR.ChildrenAsNodeArray[i] as hParser.Tags.TableColumn; //td if (colum != null && colum.TagName == "TD" && !string.IsNullOrEmpty(colum.StringText) && colum.StringText != "\n" //&& //(0 == string.Compare(colum.StringText.Trim(), "底账", StringComparison.InvariantCultureIgnoreCase) //|| 0 == string.Compare(colum.StringText.Trim(), "认证", StringComparison.InvariantCultureIgnoreCase) //|| 0 == string.Compare(colum.StringText.Trim(), "全部", StringComparison.InvariantCultureIgnoreCase) //) ) { isValid = true; } if (isValid) { break; } } } return(isValid ? tagTR : null); }
private void parserValidTR(List <hParser.Tags.TableRow> validRowList, ref List <ImportInvoiceDTO> list) { for (int j = 0; j < validRowList.Count; j++) { ImportInvoiceDTO dto = new ImportInvoiceDTO(); hParser.Tags.TableRow tagTR = validRowList[j]; //抓取td for (int i = 0; i < tagTR.Columns.Count(); i++) { var colum = tagTR.Columns[i] as hParser.Tags.TableColumn; //td switch (i) { case 0: dto.InvoiceCode = colum.StringText; break; case 1: dto.InvoiceNumber = colum.StringText; break; case 2: dto.CreateDate = colum.StringText; break; case 3: dto.SalesTaxNumber = colum.StringText; break; case 4: dto.Amount = ConvertToDecimal(colum.StringText); break; case 5: dto.Tax = ConvertToDecimal(colum.StringText); break; case 6: dto.From = colum.StringText; break; case 7: dto.Status = colum.StringText; break; case 8: dto.SelectTag = colum.StringText; break; case 9: dto.OperationTime = colum.StringText; break; } parseResult += colum.TagName + ":\r\nStringText:" + colum.StringText + " ChildrenHTML:" + colum.ChildrenHTML + " StartPosition:" + colum.StartPosition.ToString() + " EndPosition:" + colum.EndPosition.ToString() + "\r\n"; } list.Add(dto); } }