sRecieved = "<XmlClient>2.0</XmlClient><XmlVersion>3.0</XmlVersion>"
Dim xml As New XmlDocument();
xml.LoadXml(sRecieved);
複数のルート要素があります.....xmlclient値とxmlversion値が必要です
そうです、あなたのデータは有効な XML ドキュメントではありません。(エラー メッセージは非常に明確です。トップレベルの要素が複数あります。)ダミーのルート要素を追加することで、有効なドキュメントにすることができます。
xml.LoadXml("<root>" & sReceived & "</root>")
...しかし、データを送信しているものを変更する機会があれば、実際の 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 = "<xmlroot><XmlClient>2.0</XmlClient><XmlVersion>3.0</XmlVersion></xmlroot>"
Dim xml As New XmlDocument()
xml.LoadXml(sRecieved)