コード例 #1
0
        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";
                    }
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
            }
        }