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

use*_*348 0 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 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()
Run Code Online (Sandbox Code Playgroud)

通过执行此功能,我无法在IE中查看结果,错误消息将显示为"无法显示XML页面

无法使用XSL样式表查看XML输入.

XML文档中只允许一个顶级元素.处理资源'file:/// C:/mailing.xml'时出错.第2行,Posi ...

asdasd@qwe.com

当我打开xml文件输入数据时,任何人都可以帮我解决pblm.我的代码中要进行哪些修改?

Cer*_*rus 5

嗯,这很正常.XML文档必须具有不重复的根元素.您已要求相关的问题在这里和原来在这里.Jon Skeet已经非常简洁地向你解释了这一点.

如果理解存在问题,您应该考虑阅读XML或进行一些研究,而不是反复提出相同的问题,因为大多数人都不会意识到您已经收到了问题的优秀答案.

如果你继续做你已经做过的事情,你不应该期待不同的结果.