NEWS

[C#] Hướng dẫn lấy thông tin tỷ giá vàng SJC sử dụng API

[C#] Hướng dẫn lấy thông tin tỷ giá vàng SJC sử dụng API
Đăng bởi: Thảo Meo - Lượt xem: 9141 19:22:21, 30/08/2021DEVEXPRESS   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ chia sẻ đến các bạn source code cập nhật thông tin xem tỷ giá vàng hôm nay qua trang vàng SJC bằng C#, Winform.

[C#] Lấy tỷ giá vàng hôm nay API SJC

Xem tỷ giá vàng cập nhật hàng ngày trong nước, bao gồm các tỉnh ở Việt Nam, mình lấy data từ trang chủ vàng sjc.com.vn

ty_gia_vang

Dưới đây là giao diện demo ứng dụng C#, Winform:

ty_gia_vang_csharp

Đế lấy thông tin giá vàng hôm nay, các bạn truy cập vào đường dẫn API Vàng SJC dưới đây:

https://sjc.com.vn/xml/tygiavang.xml

Khi các bạn mở link này, nó sẽ trả về cho chúng ta dữ liệu khi hình dưới đây:

sjc_vang_api

Và bây giờ, mình chỉ cần đọc thông tin file XML này và hiển thị nó lên Winform là hoàn tất.

Full source code lấy tỷ giá vàng hôm nay C#, Winform:

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;

namespace GoldRate_SJC
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
        }       
        private void button1_Click(object sender, EventArgs e)
        {
            var tableRate = new DataTable();
            tableRate.Columns.Add("name", typeof(string));
            tableRate.Columns.Add("type", typeof(string));
            tableRate.Columns.Add("buy", typeof(double));
            tableRate.Columns.Add("sell", typeof(double));

            var URL_API = @"https://sjc.com.vn/xml/tygiavang.xml";
            XmlDocument xml = new XmlDocument();
            xml.Load(URL_API);
            var updated = DateTime.Parse(xml.SelectSingleNode("/root/ratelist").Attributes["updated"].InnerText).ToString("dd/MM/yyyy HH:mm:ss");
            var unit = xml.SelectSingleNode("/root/ratelist").Attributes["unit"].InnerText;
            lbl_unit.Text = $"Đơn vị: {unit}";
            lbl_updated.Text = $"Thời gian cập nhật: {updated}";

            var listNode = xml.SelectNodes("/root/ratelist/city");
            foreach(XmlNode node in listNode)
            {
                var nameCity = node.Attributes["name"].InnerText;
                var childNodeItem = node.ChildNodes;
                if (childNodeItem.Count > 0)
                {
                    foreach (XmlNode childNode in childNodeItem)
                    {
                        var buy = childNode.Attributes["buy"].InnerText;
                        var sell = childNode.Attributes["sell"].InnerText;
                        var type = childNode.Attributes["type"].InnerText;
                        tableRate.Rows.Add(nameCity, type, double.Parse(buy), double.Parse(sell));
                    }
                }
            }

            dataGridView1.DataSource = tableRate;
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Process.Start("https://laptrinhvb.net");
        }
    }
}

Thanks for watching!

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Hướng dẫn lấy thông tin tỷ giá vàng SJC sử dụng API
Đăng bởi: Thảo Meo - Lượt xem: 9141 19:22:21, 30/08/2021DEVEXPRESS   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.