XmlWriter未在VB.net中创建新元素
我正在用VB.net编写一个XML文件。当我试图创建另一个元素来写入第一个元素时,它会出错,并说: “状态EndRootElement中的令牌StartElement将导致无效的XML文档。如果要写入XML片段,请确保ConformanceLevel设置设置为ConformanceLevel.Fragment或ConformanceLevel.Auto。” 考虑到上一个元素已经关闭,我不确定它为什么要这样做。我试着找一位作家,但在那里我什么也没看到。有什么建议可以让它工作吗?=)XmlWriter未在VB.net中创建新元素,xml,vb.net,xmlwriter,Xml,Vb.net,Xmlwriter,我正在用VB.net编写一个XML文件。当我试图创建另一个元素来写入第一个元素时,它会出错,并说: “状态EndRootElement中的令牌StartElement将导致无效的XML文档。如果要写入XML片段,请确保ConformanceLevel设置设置为ConformanceLevel.Fragment或ConformanceLevel.Auto。” 考虑到上一个元素已经关闭,我不确定它为什么要这样做。我试着找一位作家,但在那里我什么也没看到。有什么建议可以让它工作吗?=) XML文档只能
XML文档只能有一个根元素。您将启动文档,编写“header”元素,关闭“header”元素,然后启动一个新的“variable”元素——这将是第二个根元素
要么将“header”和“variable”都包含在一个更高级别的元素中,要么将其中一个元素移到另一个元素中。XML文档只能有一个根元素。您将启动文档,编写“header”元素,关闭“header”元素,然后启动一个新的“variable”元素——这将是第二个根元素
要么将“header”和“variable”都包含在一个更高级别的元素中,要么将其中一个元素移到另一个元素中。您可以尝试类似的方法
Private Sub writeXMLFile(ByVal childform As Fone_Builder_Delux.frmData, ByVal filename As String)
Dim xmlSettings As New XmlWriterSettings()
xmlSettings.Indent = True
xmlSettings.NewLineOnAttributes = True
Using writer As XmlWriter = XmlWriter.Create(filename, xmlSettings)
writer.WriteStartDocument()
writer.WriteStartElement("root")
writer.WriteStartElement("header")
writer.WriteStartAttribute("filepath")
writer.WriteValue(filename)
writer.WriteEndAttribute()
writer.WriteEndElement()
writer.WriteStartElement("variable")
writer.WriteStartAttribute("varName")
writer.WriteValue(childform.datagridHeaders.Item(0, 1))
writer.WriteEndAttribute()
writer.WriteEndElement()
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Flush()
End Using
End Sub
你可以试试这样的
Private Sub writeXMLFile(ByVal childform As Fone_Builder_Delux.frmData, ByVal filename As String)
Dim xmlSettings As New XmlWriterSettings()
xmlSettings.Indent = True
xmlSettings.NewLineOnAttributes = True
Using writer As XmlWriter = XmlWriter.Create(filename, xmlSettings)
writer.WriteStartDocument()
writer.WriteStartElement("root")
writer.WriteStartElement("header")
writer.WriteStartAttribute("filepath")
writer.WriteValue(filename)
writer.WriteEndAttribute()
writer.WriteEndElement()
writer.WriteStartElement("variable")
writer.WriteStartAttribute("varName")
writer.WriteValue(childform.datagridHeaders.Item(0, 1))
writer.WriteEndAttribute()
writer.WriteEndElement()
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Flush()
End Using
End Sub
谢谢,关于XML文件,我没有意识到这一点。我可能会将它们封装在一个主元素中。谢谢谢谢,关于XML文件,我没有意识到这一点。我可能会将它们封装在一个主元素中。谢谢