【发布时间】:2020-03-29 14:31:43
【问题描述】:
我试图在不声明变量的情况下在一行中实现以下代码。代码将创建一个 XML 元素,添加一个属性和一个值,最后将其附加到 XML 文档中:
Dim XMLDoc As New XmlDocument
Dim XMLRoot As XmlElement
XMLRoot = XMLDoc.CreateElement("Test1")
XMLRoot.Attributes.Append(XMLDoc.CreateAttribute("Test2")).Value = "Test3"
XMLDoc.AppendChild(XMLRoot)
我尝试了以下方法,但它返回错误:Boolean cannot be convert to 'XmlNode'.
Dim XMLDoc As New XmlDocument
XMLDoc.AppendChild(XMLDoc.CreateElement("Test1").Attributes.Append(XMLDoc.CreateAttribute("Test2").Value = "Test3"))
这会返回错误:表达式不产生值。
Dim XMLDoc As New XmlDocument
XMLDoc.AppendChild(XMLDoc.CreateElement("Test1").SetAttribute("Test2", "Test3"))
【问题讨论】:
-
即使您将变量创建内联到方法调用中,变量仍将由编译器创建。通过使用变量,您将使他人和以后的生活更轻松:)。为什么不想使用临时变量?
-
我很好奇我将如何解决它。我找不到我的问题的解决方案。你会碰巧知道我这样做的方法吗?
-
您需要创建一个变量,因为
.AppendChild方法需要XmlElement类型的值。如果元素创建很复杂,用返回创建元素的方法包裹它并传递给.AppendChild()