⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sgxawsparser.cpp

📁 一个基于BREW上的WEB service程序,通过扫描图书的条形码,登陆WEB站点,利用SOAP-RPC来查询图书信息.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                            _itemAttributes->currencyCode = DecodeHtml(node2->GetText());
                        } else if (SFXAnsiString(node2->GetNodeName()) == "FormattedPrice") {
                            _itemAttributes->formattedPrice = DecodeHtml(node2->GetText());
                        }
                    }
                } else if (SFXAnsiString(node->GetNodeName()) == "NumberOfPages") {
                    _itemAttributes->numberOfPages = node->GetText().ToSInt32();
                } else if (SFXAnsiString(node->GetNodeName()) == "PackageDimensions") {
                    SFXXMLNodePtr node2(node->GetFirstChild());
                    for (; node2 != null; node2 = node2->GetNextSibling()) {
                        if (SFXAnsiString(node2->GetNodeName()) == "Length") {
                            _itemAttributes->packageDimensionsLength = node2->GetText().ToSInt32();
                        } else if (SFXAnsiString(node2->GetNodeName()) == "Width") {
                            _itemAttributes->packageDimensionsWidth = node2->GetText().ToSInt32();
                        }
                    }
                } else if (SFXAnsiString(node->GetNodeName()) == "ProductGroup") {
                    _itemAttributes->productGroup = DecodeHtml(node->GetText());
                } else if (SFXAnsiString(node->GetNodeName()) == "PublicationDate") {
                    _itemAttributes->publicationDate = StringToDate(node->GetText());
                } else if (SFXAnsiString(node->GetNodeName()) == "Publisher") {
                    _itemAttributes->publisher = DecodeHtml(node->GetText());
                } else if (SFXAnsiString(node->GetNodeName()) == "Title") {
                    _title = DecodeHtml(node->GetText());
                }
            }
        }
        else {
            error = SFERR_NO_MEMORY;
        }
    }
    return error;
}

// 僞僀僩儖偺傒傪夝愅乮ItemAttributes 僞僌偺壓傪夝愅偟側偄偲偒偵幚峴偝傟傞乯
SFCError SGXAWSParser::ParseTitle(SFXXMLNodePtr node)
{
    SFCError error(SFERR_NO_ERROR);

    if (node != null) {
        for (; node != null; node = node->GetNextSibling()) {
            if (SFXAnsiString(node->GetNodeName()) == "Title") {
                _title = DecodeHtml(node->GetText());
            }
        }
    }
    else {
        error = SFERR_FAILED;
    }
    return error;
}

SFCError SGXAWSParser::ParseSmallImage(SFXXMLNodePtr node)
{
    SFCError error(SFERR_NO_ERROR);

    if (node != null) {
        if (_imageUrl == null) {
            _imageUrl = new ImageUrlRec;
        }
        if (_imageUrl != null) {
            for (; node != null; node = node->GetNextSibling()) {
                if (SFXAnsiString(node->GetNodeName()) == "URL") {
                    _imageUrl->smallImageURL = DecodeHtml(node->GetText());
                } else if (SFXAnsiString(node->GetNodeName()) == "Height") {
                    _imageUrl->smallImageHeight = node->GetText().ToSInt32();
                } else if (SFXAnsiString(node->GetNodeName()) == "Width") {
                    _imageUrl->smallImageWidth = node->GetText().ToSInt32();
                }
            }
        }
        else {
            error = SFERR_NO_MEMORY;
        }
    }
    else {
        error = SFERR_FAILED;
    }
    return error;
}

// 忋偺娭悢偺僐僺乕儁乕僗僩側偺偱屻偱傑偲傔傞
SFCError SGXAWSParser::ParseMediumImage(SFXXMLNodePtr node)
{
    SFCError error(SFERR_NO_ERROR);

    if (node != null) {
        if (_imageUrl == null) {
            _imageUrl = new ImageUrlRec;
        }
        if (_imageUrl != null) {
            for (; node != null; node = node->GetNextSibling()) {
                if (SFXAnsiString(node->GetNodeName()) == "URL") {
                    _imageUrl->mediumImageURL = DecodeHtml(node->GetText());
                } else if (SFXAnsiString(node->GetNodeName()) == "Height") {
                    _imageUrl->mediumImageHeight = node->GetText().ToSInt32();
                } else if (SFXAnsiString(node->GetNodeName()) == "Width") {
                    _imageUrl->mediumImageWidth = node->GetText().ToSInt32();
                }
            }
        }
        else {
            error = SFERR_NO_MEMORY;
        }
    }
    else {
        error = SFERR_FAILED;
    }
    return error;
}

// 忋偺娭悢偺僐僺乕儁乕僗僩側偺偱屻偱傑偲傔傞
SFCError SGXAWSParser::ParseLargeImage(SFXXMLNodePtr node)
{
    SFCError error(SFERR_NO_ERROR);

    if (node != null) {
        if (_imageUrl == null) {
            _imageUrl = new ImageUrlRec;
        }
        if (_imageUrl != null) {
            for (; node != null; node = node->GetNextSibling()) {
                if (SFXAnsiString(node->GetNodeName()) == "URL") {
                    _imageUrl->largeImageURL = DecodeHtml(node->GetText());
                } else if (SFXAnsiString(node->GetNodeName()) == "Height") {
                    _imageUrl->largeImageHeight = node->GetText().ToSInt32();
                } else if (SFXAnsiString(node->GetNodeName()) == "Width") {
                    _imageUrl->largeImageWidth = node->GetText().ToSInt32();
                }
            }
        }
    }
    else {
        error = SFERR_FAILED;
    }
    return error;
}

// Not yet implimentation.
SFCError SGXAWSParser::ParseOfferSummary(SFXXMLNodePtr /*node*/){ return SFERR_NO_ERROR;}
SFCError SGXAWSParser::ParseOffers(SFXXMLNodePtr /*node*/){ return SFERR_NO_ERROR;}

SFCError SGXAWSParser::ParseCustomerReviews(SFXXMLNodePtr node)
{
    SFCError error(SFERR_NO_ERROR);

    if (node != null) {
        _customerReviews = new CustomerReviewsRec;
        if (_customerReviews != null) {
            for (; node != null && error == SFERR_NO_ERROR; node = node->GetNextSibling()) {
                if (SFXAnsiString(node->GetNodeName()) == "AverageRating") {
                    _customerReviews->avarageRating = node->GetText().ToSInt32();
                } else if (SFXAnsiString(node->GetNodeName()) == "TotalReviews") {
                    _customerReviews->totalReviews = node->GetText().ToSInt32();
                } else if (SFXAnsiString(node->GetNodeName()) == "TotalReviewPages") {
                    _customerReviews->totalReviewPages = node->GetText().ToSInt32();
                } else if (SFXAnsiString(node->GetNodeName()) == "Review") {
                    SFXXMLNodePtr node2(node->GetFirstChild());
                    ReviewRecPtr review = new ReviewRec;
                    if (review != null) {
                        for (; node2 != null; node2 = node2->GetNextSibling()) {
                            if (SFXAnsiString(node2->GetNodeName()) == "ASIN") {
                                review->asin = DecodeHtml(node2->GetText());
                            } else if (SFXAnsiString(node2->GetNodeName()) == "Rating") {
                                review->rating = node2->GetText().ToSInt32();
                            } else if (SFXAnsiString(node2->GetNodeName()) == "HelpfulVotes") {
                                review->helpfulVotes = node2->GetText().ToSInt32();
                            } else if (SFXAnsiString(node2->GetNodeName()) == "CustomerId") {
                                review->customerId = DecodeHtml(node2->GetText());
                            } else if (SFXAnsiString(node2->GetNodeName()) == "TotalVotes") {
                                review->totalVotes = node2->GetText().ToSInt32();
                            } else if (SFXAnsiString(node2->GetNodeName()) == "Date") {
                                review->date = StringToDate(node2->GetText());
                            } else if (SFXAnsiString(node2->GetNodeName()) == "Summary") {
                                review->summary = DecodeHtml(node2->GetText());
                            } else if (SFXAnsiString(node2->GetNodeName()) == "Content") {
                                review->content = DecodeHtml(node2->GetText());
                            }
                        }
                        error = _customerReviews->reviews.Append(review);
                    }
                    else {
                        error = SFERR_NO_MEMORY;
                    }
                }
            }
        }
        else {
            error = SFERR_NO_MEMORY;
        }
    }
    else {
        error = SFERR_FAILED;
    }
    return error;
}

SFCError SGXAWSParser::ParseSimilarProducts(SFXXMLNodePtr node)
{
    SFCError error(SFERR_NO_ERROR);

    if (node != null) {
        _similarProducts = new SimilarProductsRec;
        if (_similarProducts != null) {
            for (; node != null && error == SFERR_NO_ERROR; node = node->GetNextSibling()) {
                if (SFXAnsiString(node->GetNodeName()) == "SimilarProduct") {
                    SFXXMLNodePtr node2(node->GetFirstChild());
                    SimilarProductRecPtr similarProduct = new SimilarProductRec;
                    if (similarProduct != null) {
                        for (; node2 != null; node2 = node2->GetNextSibling()) {
                            if (SFXAnsiString(node2->GetNodeName()) == "ASIN") {
                                similarProduct->asin = DecodeHtml(node2->GetText());
                            } else if (SFXAnsiString(node2->GetNodeName()) == "Title") {
                                similarProduct->title = DecodeHtml(node2->GetText());
                            }
                        }
                        error = _similarProducts->similarProducts.Append(similarProduct);
                    }
                    else {
                        error = SFERR_NO_MEMORY;
                    }
                }
            }
        }
        else {
            error = SFERR_NO_MEMORY;
        }
    }
    else {
        error = SFERR_FAILED;
    }
    return error;
}


// Not yet implimentation.
SFCError SGXAWSParser::ParseBrowserNodes(SFXXMLNodePtr /*node*/){ return SFERR_NO_ERROR;}
SFCError SGXAWSParser::ParseListmaniaLists(SFXXMLNodePtr /*node*/){ return SFERR_NO_ERROR;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -