|
เพิ่มเติมกรณีที่ต้องการเช็คราคาในแต่ละจังหวัด แอดมินยกตัวอย่าง "เมืองขอนแก่น" ... โดยเริ่มต้นการอ่านจาก <FUEL_PROVINCIAL> ... - <FUEL_PROVINCIAL>
- <LOCATION>เมืองขอนแก่น</LOCATION>
- <PRICE_DATE>10/16/2020 5:00:00 AM</PRICE_DATE>
- <PRODUCT>Gasoline 95</PRODUCT>
- <PRICE>29.4</PRICE>
- </FUEL_PROVINCIAL>
คัดลอกไปที่คลิปบอร์ด
- Private Sub btnGetData_Click(sender As System.Object, e As System.EventArgs) Handles btnGetData.Click
- Dim SoapClient As New OilPricePTT.OilPriceSoapClient
- Dim MyDate As DateTime = GetDate(dtpDatePrice.Text)
- '// Thailand, วันที่, เดือน, ปี
- 'RichTextBox1.Text = SoapClient.GetOilPrice( _
- ' "TH", _
- ' Microsoft.VisualBasic.Left(MyDate, 2), _
- ' Microsoft.VisualBasic.Mid(MyDate, 4, 2), _
- ' Microsoft.VisualBasic.Right(MyDate, 4))
- '// Binding Data Source to DataGridView
- RichTextBox1.Text = SoapClient.GetOilPriceProvincial( _
- "TH", _
- Microsoft.VisualBasic.Left(MyDate, 2), _
- Microsoft.VisualBasic.Mid(MyDate, 4, 2), _
- Microsoft.VisualBasic.Right(MyDate, 4), _
- "ขอนแก่น")
- dgvData.DataSource = ParserXMLProvince(RichTextBox1.Text)
- With dgvData.Columns(2)
- .DefaultCellStyle.Format = "0.00"
- End With
- End Sub
- Function ParserXMLProvince(ByVal xmlDoc As String) As DataTable
- Dim dt As New Data.DataTable
- ' / เพิ่มหลัก (Columns) หรือฟิลด์ จำนวน 3 หลัก
- With dt
- .Columns.Add("PriceDate", GetType(String))
- .Columns.Add("Product", GetType(String))
- .Columns.Add("Price", GetType(Double))
- End With
- '//
- Dim doc As New XmlDocument()
- '// โหลดเอกสาร XML
- doc.LoadXml(xmlDoc)
- '// จุดเริ่มต้นของ Node
- Dim nodes As XmlNodeList = doc.GetElementsByTagName("FUEL_PROVINCIAL")
- Dim Price_Date As String = String.Empty, Product As String = "", Price As String = ""
- For Each node As XmlNode In nodes
- If node("LOCATION").InnerText = "เมืองขอนแก่น" Then
- Price_Date = node("PRICE_DATE").InnerText
- Product = node("PRODUCT").InnerText
- '// ข้อมูลบางตัวอาจจะไม่มี Element ที่ชื่อ PRICE
- If IsNothing(node("PRICE")) Then
- Price = "0.00"
- Else
- Price = Format(CDbl(node("PRICE").InnerText), "0.00")
- End If
- Select Case Product
- '// กรองเอาเฉพาะประเภทที่ต้องการ
- Case "Gasoline 95", "Diesel B7", "Gasohol 91", "Gasohol E20", "NGV", "Gasohol 95", "Gasohol E85", "Premium Diesel B7", "Diesel", "Diesel B20"
- With dt
- .Rows.Add(Price_Date, Product, Price)
- End With
- End Select
- End If
- Next
- '// Return DataTable
- Return dt
- End Function
คัดลอกไปที่คลิปบอร์ด
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน
x
|