【发布时间】:2015-11-27 11:07:13
【问题描述】:
您好,我正在创建一个 api 来获取 ID 和名称为 Xml 像这样
响应格式
<posts>
<post>
<account_id> </account_id>
<name> </name>
</post>
</posts>
你可以在下面找到我定义的模型
Partial Public Class PostsPost
Private postField As Posts
Public Property Post() As Posts
Get
Return Me.postField
End Get
Set
Me.postField = Value
End Set
End Property
End Class
Partial Public Class Posts
Private account_idField As String
Private nameField As String
Public Property Account_id() As String
Get
Return Me.account_idField
End Get
Set
Me.account_idField = Value
End Set
End Property
Public Property Name() As String
Get
Return Me.nameField
End Get
Set
Me.nameField = Value
End Set
End Property
End Class
然后下面是我正在使用的源代码
Try myConnection.ConnectionString = "Data Source = xxx.xxx.x.yy;port=1234;Database=test;User ID=test;Password=test123;"
If myConnection.State = ConnectionState.Closed Then
myConnection.Open()
End If
Dim reader As MySqlDataReader = Nothing
Dim mysqlCmd As New MySqlCommand()
mysqlCmd.CommandType = CommandType.Text
mysqlCmd.CommandText = "Select account_id,name from xx where account_id Like ?p1 and xylike ?p2 "
mysqlCmd.Parameters.AddWithValue("?p1", xxx)
mysqlCmd.Parameters.AddWithValue("?p2", yyy)
mysqlCmd.Connection = myConnection
reader = mysqlCmd.ExecuteReader()
If reader.HasRows Then
Dim smtSub As Posts = Nothing
While reader.Read()
smtSub = New Posts()
smtSub.Post.Account_id = Convert.ToInt32(reader.GetValue(0))
smtSub.Post.Name = reader.GetValue(1).ToString()
End While
myConnection.Close()
return smtSub
如果结束
响应没有<post>的问题,如下例所示
<posts>
<account_id> </account_id>
<name> </name>
</posts>
【问题讨论】:
-
您能否检查一下您是否已正确发布:您的目标 XML 没有关闭
<amount>标记;If reader.HasRows缺少End If;并且您返回smtSub,即使它在您的While循环中重新初始化。谢谢 -
我只是写错了
;如果存在于 VS 项目中,则结束,但在这里我忘了把它 - 它只是返回 像这样的注释
标签: asp.net xml vb.net asp.net-web-api