Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XmlWriter未在VB.net中创建新元素_Xml_Vb.net_Xmlwriter - Fatal编程技术网

XmlWriter未在VB.net中创建新元素

XmlWriter未在VB.net中创建新元素,xml,vb.net,xmlwriter,Xml,Vb.net,Xmlwriter,我正在用VB.net编写一个XML文件。当我试图创建另一个元素来写入第一个元素时,它会出错,并说: “状态EndRootElement中的令牌StartElement将导致无效的XML文档。如果要写入XML片段,请确保ConformanceLevel设置设置为ConformanceLevel.Fragment或ConformanceLevel.Auto。” 考虑到上一个元素已经关闭,我不确定它为什么要这样做。我试着找一位作家,但在那里我什么也没看到。有什么建议可以让它工作吗?=) XML文档只能

我正在用VB.net编写一个XML文件。当我试图创建另一个元素来写入第一个元素时,它会出错,并说:

“状态EndRootElement中的令牌StartElement将导致无效的XML文档。如果要写入XML片段,请确保ConformanceLevel设置设置为ConformanceLevel.Fragment或ConformanceLevel.Auto。”

考虑到上一个元素已经关闭,我不确定它为什么要这样做。我试着找一位作家,但在那里我什么也没看到。有什么建议可以让它工作吗?=)


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文件,我没有意识到这一点。我可能会将它们封装在一个主元素中。谢谢