Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Asp.net 从字符串生成器创建xml文档将返回空文档_Asp.net_Xml_Vb.net - Fatal编程技术网

Asp.net 从字符串生成器创建xml文档将返回空文档

Asp.net 从字符串生成器创建xml文档将返回空文档,asp.net,xml,vb.net,Asp.net,Xml,Vb.net,我正在尝试使用字符串生成器创建Am xml文档,如下所示。字符串生成器具有预期的精确值。但它不会写入xml文件。下面是代码 mssql = "select ID, ParentID, OrderID, Title, Start, End, PercentComplete, Expanded, Summary From Project" Dim buildXML As New StringBuilder buildXML.Append("<?xml versi

我正在尝试使用字符串生成器创建Am xml文档,如下所示。字符串生成器具有预期的精确值。但它不会写入xml文件。下面是代码

mssql = "select ID, ParentID, OrderID, Title, Start, End, PercentComplete, Expanded, Summary From Project"
        Dim buildXML As New StringBuilder
        buildXML.Append("<?xml version=""1.0"" encoding=""utf-8""?><Project>  <Tasks>")
        Dim mycommand As OdbcCommand
        mycommand = New OdbcCommand(mssql, dbcon)
        dbcon.Open()
        Dim reader As OdbcDataReader
        reader = mycommand.ExecuteReader
        While reader.Read
            buildXML.Append("<Task>" & _
            "<ID>1</ID>" & _
            "<ParentID />" & _
            "<Start>" & reader.Item("Start") & "</Start>" & _
            "<End>" & reader.Item("End") & "</End>" & _
            "<Title>" & reader.Item("Title") & "</Title>" & _
            "<PercentComplete>" & reader.Item("PercentComplete") & "</PercentComplete>" & _
            "<Summary>" & reader.Item("Summary") & "</Summary>" & _
            "<Expanded>" & reader.Item("Expanded") & "</Expanded>" & _
            "<OrderID>" & reader.Item("OrderID") & "</OrderID>" & _
            "</Task>")
        End While
        buildXML.Append("</Tasks>  <Dependencies /></Project>")
        reader.Close()
        dbcon.Close()

        'everything work fine up to this 

        Dim XMLDocument As System.Xml.XmlDocument = New System.Xml.XmlDocument()
        XMLDocument.LoadXml(buildXML.ToString())
        Dim Output As New XmlTextWriter(Server.MapPath("~/App_Data/gantt.xml"), System.Text.Encoding.UTF8)
        XMLDocument.WriteTo(Output)
mssql=“从项目中选择ID、ParentID、OrderID、标题、开始、结束、完成百分比、展开、摘要”
Dim buildXML作为新的StringBuilder
buildXML.Append(“”)
将mycommand设置为odbc命令
mycommand=新的OdbcCommand(mssql、dbcon)
dbcon.Open()
作为OdbcDataReader的Dim读卡器
reader=mycommand.ExecuteReader
边读边读
Append(“&”_
"1" & _
"" & _
&reader.Item(“开始”)&_
&reader.Item(“结束”)&_
&reader.Item(“标题”)&_
&reader.Item(“完成百分比”)&&_
&reader.Item(“摘要”)&_
&reader.Item(“扩展”)&&_
&reader.Item(“OrderID”)&_
"")
结束时
buildXML.Append(“”)
reader.Close()
dbcon.Close()
“到目前为止,一切都很顺利
Dim XMLDocument As System.Xml.XMLDocument=New System.Xml.XMLDocument()
LoadXml(buildXML.ToString())
将输出设置为新的XmlTextWriter(Server.MapPath(“~/App\u Data/gantt.xml”)、System.Text.Encoding.UTF8)
XMLDocument.WriteTo(输出)

保存文档将导致空文档,有人知道原因吗?

请按如下方式修改代码:

1) 从buildXML中删除Xml声明(Xml版本和编码)。只有你的节点信息应该在那里

2) 修改注释代码,如下所示(使用Save而不是WriteTo)


看起来您可能没有关闭XmlTextWriter。作为补充说明,我强烈建议不要使用字符串操作来创建XML。使用XmlWriter或XDocument。
Dim XMLDocument As System.Xml.XmlDocument = New System.Xml.XmlDocument()
XMLDocument.LoadXml(buildXML.ToString())
Dim Output As New XmlTextWriter(Server.MapPath("~/App_Data/gantt.xml"), System.Text.Encoding.UTF8)
XMLDocument.Save(Output)