XML文档中只允许有一个顶级元素

XML文档中只允许有一个顶级元素,xml,vb.net,Xml,Vb.net,以下是在xml文件中插入新节点的代码 Dim fleStream As New FileStream("C:\mailing.xml", FileMode.Append, FileAccess.Write,FileShare.ReadWrite) Dim stmWriter As New StreamWriter(fleStream) Dim writer As New XmlTextWriter(stmWriter) Dim currNode As XmlNode Dim doc As New

以下是在xml文件中插入新节点的代码

Dim fleStream As New FileStream("C:\mailing.xml", FileMode.Append, FileAccess.Write,FileShare.ReadWrite)
Dim stmWriter As New StreamWriter(fleStream)
Dim writer As New XmlTextWriter(stmWriter)
Dim currNode As XmlNode
Dim doc As New XmlDocument

doc.LoadXml(("<XMLFile>" + " <EMail></EMail>" + "</XMLFile>"))
'doc.Load("C:\mailing.xml") '
Dim docFrag As XmlDocumentFragment = doc.CreateDocumentFragment()
docFrag.InnerXml = "<From><Address>" + txtFrom.Text + " </Address></From>"
currNode = doc.DocumentElement.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag, currNode.LastChild)

docFrag.InnerXml = "<Receipient> <To>" + txtTo.Text + " </To></Receipient>"
currNode = doc.DocumentElement.FirstChild.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag, currNode.LastChild)

docFrag.InnerXml = "<Subject>" + txtSubject.Text + "</Subject>"
currNode = doc.DocumentElement.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag, currNode.LastChild)

docFrag.InnerXml = "<Body>" + txtBody.Text + "</Body>"
currNode = doc.DocumentElement.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag, currNode.LastChild)

doc.Save(writer)
'doc.Save("C:\xmlmailfile.xml") '
writer.Flush()
stmWriter.Flush()
stmWriter.Close()
将文件流设置为新文件流(“C:\mailing.xml”、FileMode.Append、FileAccess.Write、FileShare.ReadWrite)
Dim stmWriter作为新的StreamWriter(fleStream)
Dim writer作为新的XmlTextWriter(stmWriter)
将节点设置为XmlNode
Dim文档作为新的XmlDocument
doc.LoadXml((“”+“”+“”))
'doc.Load(“C:\mailing.xml”)'
Dim docFrag作为XmlDocumentFragment=doc.CreateDocumentFragment()
docFrag.InnerXml=“+txtFrom.Text+”“
currNode=doc.DocumentElement.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag,currNode.LastChild)
docFrag.InnerXml=“+txtTo.Text+”“
currNode=doc.DocumentElement.FirstChild.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag,currNode.LastChild)
docFrag.InnerXml=“+txtSubject.Text+”“
currNode=doc.DocumentElement.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag,currNode.LastChild)
docFrag.InnerXml=“+txtBody.Text+”“
currNode=doc.DocumentElement.FirstChild.AppendChild(docFrag)
currNode.InsertAfter(docFrag,currNode.LastChild)
保存文档(编写器)
'doc.Save(“C:\xmlmailfile.xml”)'
writer.Flush()
stmWriter.Flush()
stmWriter.Close()
通过执行此操作,我无法在IE中查看结果,错误消息如下 “无法显示XML页面

无法使用XSL样式表查看XML输入。 XML文档中只允许有一个顶级元素。处理资源时出错'file:///C:/mailing.xml’第二行,位置

asdasd@qwe.com
当我打开输入数据的xml文件时,有人能帮我解决pblm问题吗?在我的代码中要做哪些修改?

在记事本中打开它,看看输出是什么,然后从那里看到错误的真正原因,如果需要更多帮助,请将其张贴在这里。

在记事本中打开它,看看输出是什么,然后从那里看到错误所在错误确实存在,如果您需要更多帮助,请将其张贴在此处。

这是很正常的。XML文档必须具有不重复的根元素。您已经问过相关问题,最初也是。Jon Skeet已经非常简洁地向您解释了这一点

如果理解中有问题,你应该考虑阅读XML或者做一些研究,而不是反复问同样的问题,因为大多数人都不会意识到你已经收到了这个问题的极好答案。
如果你继续做你已经做过的相同的事情,你不应该期望不同的结果。

这是很正常的。XML文档必须有一个不重复的根元素。你已经问了相关的问题,最初也是这样。Jon Skeet已经非常简洁地向你解释了这一点

如果理解中有问题,你应该考虑阅读XML或者做一些研究,而不是反复问同样的问题,因为大多数人都不会意识到你已经收到了这个问题的极好答案。
如果您继续执行已完成的相同操作,则不应期望出现不同的结果。

为什么要将文档片段附加为节点的第一个子节点,然后继续在其后插入?为什么要将文档片段附加为节点的第一个子节点,然后继续在其后插入?