【问题标题】:How to write multiple textbox value into XML file in VB.net?如何在 VB.net 中将多个文本框值写入 XML 文件?
【发布时间】:2014-01-30 06:10:30
【问题描述】:

我是 vb.net 的初学者。 请告诉我如何从 vb.net 中的多个 textbox.text 生成 xml 文件 我在sid“数组边界不能出现在类型说明符中”有错误 我在Dim ds.ReadXml(ds)“预期语句结束”中也有错误

Protected Sub btnChkService_Click(sender As Object, e As EventArgs) Handles btnChkService

    Dim cid As Int32
    Dim sid As Int32
    Dim tid As String
    sid = Convert.ToInt32(TxtSiteId.Text)
    cid = Convert.ToInt32(TxtCompId.Text)
    tid = TxtTokenId.Text
    Dim client As ServiceRef.DemoService()
    Dim DataSet As client.GetEmployees(sid, cid, tid)
    Dim ds As DataSet
    'Dim StringReader sr As New StringReader(data)'
    'Dim DataSet ds As New DataSet(data)'
    Dim ds.ReadXml(ds)
    'string st = Server.MapPath("XMLFile.xml")'
    Dim Data.WriteXml(Data)

End Sub

【问题讨论】:

  • 从 WCF 服务返回数据集通常被认为是不好的做法 - 改为返回自定义对象(或自定义对象的集合),因为这将保留互操作性。此外,您见过数据集在序列化后的样子吗?
  • ReadXml() 是属于 DataSet 类的方法 - 您正在尝试声明该方法(并且您正在尝试将 DataSet 作为参数传递,您可以'不会)。您能否同时发布 GetEmployees() 的实现和您尝试生成的 XML(即它应该是什么样子)?
  • 请问你能在代码中做到这一点吗?我不明白你在问什么我不能在 WCF 中更改它的要求
  • 您在寻找什么格式的 XML?查看我在评论中添加的 ReadXml() 的链接,看看是否可以帮助您找到方向。
  • 我如何将此 {client.GetEmployees(sid, cid, tid)} 值放入数据集中,然后我希望将此数据集放入 xml 文件中

标签: asp.net xml vb.net wcf xml-parsing


【解决方案1】:

不确定这是否可行(尚未对其进行测试,也没有时间),但这可能会让您朝着正确的方向前进:

Dim cid As Int32
Dim sid As Int32
Dim tid As String
sid = Convert.ToInt32(TxtSiteId.Text)
cid = Convert.ToInt32(TxtCompId.Text)
tid = TxtTokenId.Text
Dim client As New ServiceRef.DemoService()
Dim ds As DataSet

client.Open()
ds = client.GetEmployees(sid, cid, tid)
ds.WriteXml(Server.MapPath("XMLFile.xml"))

client.Close()

Dim 用于声明指定类型的变量。它不用于调用对象上的方法(尽管可以在 Dim 语句中分配方法的返回值)。

在 Dim 语句中声明和初始化变量的示例是上面的行:

Dim client As New ServiceRef.DemoService()

【讨论】:

  • ds = client.GetEmployees(sid, cid, tid) 给出错误"value of type 'String' cannot be converted to 'System.Data.DataSet'"
  • 然后GetEmployees 返回一个字符串,而不是一个数据集。在您问之前,没有简单的方法可以将字符串转换为 DataSet。
  • 然后我使用什么而不是数据集我想要将员工值转换为 xml
  • [Dim ds As String] [client.Open()] [ ds = client.GetEmployees(sid, cid, tid)] [ Dim ds2 As New DataSet] [ ds2.ReadXml(ds)] [ ds2.WriteXml(Server.MapPath("XMLFile1.xml"))] [ client.Close()] 它的构建成功但是在 btnclk 之后给出这个错误 An exception of type 'System.ArgumentException' occurred in mscorlib.dll but was not handled in user code Additional information: Illegal characters in path.
  • Dim ds As String client.Open() ds = client.GetEmployees(sid, cid, tid) Dim sr As New StringReader(ds) Dim ds2 As New DataSet(ds) ds2.ReadXml(sr) ds2.WriteXml(Server.MapPath("XMLFile.xml")) ds2.WriteXmlSchema(Server.MapPath("XMLSchema.xsd")) client.Close() @Tim 感谢和尊重
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-12
  • 2022-01-09
相关资源
最近更新 更多