有多个根元素加载xml

sRecieved = "2.03.0" Dim xml As New XmlDocument(); xml.LoadXml(sRecieved); 

有多个根元素…..我想要xmlclient值和xmlversion值

是的,您的数据不是有效的XML文档。 (错误消息非常清楚 – 您有多个顶级元素。)您可以通过添加虚拟根元素使其成为有效文档:

 xml.LoadXml("" & sReceived & "") 

…但是如果你有机会改变发送数据的内容,那么如果它发送了一个实际的XML文档会更好。

编辑:如果您能够使用LINQ to XML而不是XmlDocument ,获取客户端编号和版本号很容易。 例如,作为文本:

 Dim clientVersion = doc.Root.Element("XmlClient").Value Dim xmlVersion = doc.Root.Element("XmlVersion").Value 

编辑:好的,如果你坚持使用XmlDocument ,我相信你可以使用:

 Dim clientVersionNode = doc.DocumentElement.GetElementsByTagName("XmlClient")(0) Dim clientVersion = (CType(clientVersionNode, XmlElement)).InnerText 

(同样适用于xmlVersion

发生此错误是因为xml字符串中没有根元素。

试试这个

 sRecieved = "2.03.0" Dim xml As New XmlDocument() xml.LoadXml(sRecieved)