二手书直卖 是用VB.Net开发的一个Windows桌面应用程序,里面用到的知识点有:
- ListView控件的用法
- WebRequest和WebResponse实现网抓
- XML的节点定位、XPath用法
- 使用System.Net.Mail给买家发邮件
源代码如下:
Imports System.Xml Imports System.Net Imports System.IO Public Class Form1 Private Const ns As String = "https://files.cnblogs.com/files/ryueifu-VBA/" Private FM2 As Form2 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load Dim Doc As XmlDocument Dim request As WebRequest Dim response As WebResponse Dim S As Stream Dim book As XmlNode Dim books As XmlNodeList Dim attr As XmlAttribute Dim Item As ListViewItem With Me.ListView1 .View = View.Details .Columns.Add(text:="书号", width:=100) .Columns.Add(text:="书名", width:=200) .Columns.Add(text:="作者", width:=100) .Columns.Add(text:="定价", width:=50) .Columns.Add(text:="售价", width:=50) .Columns.Add(text:="新旧", width:=50) .FullRowSelect = True .MultiSelect = False End With With Me.PictureBox1 .SizeMode = PictureBoxSizeMode.StretchImage End With request = WebRequest.Create(requestUriString:=ns & "Book.xml") response = request.GetResponse() S = response.GetResponseStream Doc = New XmlDocument Doc.Load(inStream:=S) books = Doc.SelectNodes(xpath:="Root/book") Item = Nothing For Each book In books For Each attr In book.Attributes If attr.Name = "ISBN" Then Item = Me.ListView1.Items.Add(text:=attr.Value) Else Item.SubItems.Add(text:=attr.Value) End If Next Next End Sub Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged Dim request As WebRequest Dim response As WebResponse Dim S As Stream With Me.ListView1 If .SelectedItems.Count = 1 Then request = WebRequest.Create(requestUriString:=ns & .SelectedItems.Item(0).Text & ".bmp") response = request.GetResponse() S = response.GetResponseStream Me.PictureBox1.Image = Image.FromStream(S) End If End With End Sub Private Sub 购买此书ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 购买此书ToolStripMenuItem.Click If FM2 Is Nothing Then FM2 = New Form2() End If With Me.ListView1 If .SelectedItems.Count = 1 Then ISBN = .SelectedItems.Item(0).Text BookName = .SelectedItems.Item(0).SubItems(1).Text FM2.Text = ISBN & " - 订单" FM2.ShowDialog() End If End With End Sub End Class
仔细看完代码的,奖励美女一枚: