【问题标题】:System.InvalidCastException: 'Conversion from string "Task_Name" to type 'Integer' is not valid.' --- Xml Read ProblemSystem.InvalidCastException:“从字符串“Task_Name”到类型“Integer”的转换无效。 --- Xml 读取问题
【发布时间】:2020-08-29 03:56:45
【问题描述】:

我正在尝试从我的 xml 中获取一个节点并将其显示到一个文本框中。但是,我尝试使用的节点

    Dim work As XmlNodeList = xmltest.SelectNodes("//Task")

    TextBox3.Text = work("Task_Name").InnerText

出现错误 --- “System.InvalidCastException: '从字符串“Task_Name” 到类型“Integer”的转换无效。'”

我认为这是因为节点列表格式,但我遇到了这个问题。

关于如何解决此问题或使用其他方法使其正常工作的任何建议?

【问题讨论】:

  • 错误消息表明您只能按序号而不是名称来索引 XmlNodeList。您应该打开 Option Strict On,然后这样的问题将在编译时被捕获,而不是通过运行时。

标签: xml vb.net


【解决方案1】:

如果您在编写该代码时注意到 Intellisense 告诉您的内容,您会看到 XmlNodeList.ItemOf property(这是该类型的默认属性,因此当您直接索引实例时调用) 没有重载,只有Integer 类型的参数。如果您想使用该类型,那么您只能枚举它(使用For Each 循环)或按序号索引它。如果您希望能够按名称索引,则需要使用不同的类型。由于您未能对问题提供所需的完整和清晰的解释,我们无法告诉您其中哪一个是最佳选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 2016-12-14
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    相关资源
    最近更新 更多