我有以下XML文档:
<?xml version="1.0" encoding="UTF-8"?>
<Resp>
<dData>
<Desc></Desc>
<dId></dId>
<Num></Num>
<Ref></Ref>
<Ms></Ms>
<Im></Im>
</dData>
<Type></Type>
<RespData>
<dc></dc>
<sString></sString>
</RespData>
</Resp>
以下课程:
Public Class dData
Public Property Desc As String
Public Property DID As String
Public Property Num As Integer
Public Property Ref As String
Public Property Ms As String
Public Property Im As String
End Class
Public Class RespData
Public Property DC As Integer
Public Property sString As String
End Class
最后是上述的组合:
Public Class Resp
Public Property URData As dData
Public Property Type As String
Public Property URRespData As RespData
End Class
我想将上面的XML解析为Resp。
类我将XML文件保存到名为XMLDocument
的{{1}}中,我写了这个:
XmlInput
然后Dim handleXML = From h In xmlInput.Elements("Resp")
返回handleXML.Count
我希望1
返回HandleXML.Count
(dData,Type,RespData)
然后我遍历每个元素的节点并将值保存到它所属的类中。
但它返回了3
。
我做错了吗? 有更好的方法吗?
任何帮助都将不胜感激。
答案 0 :(得分:0)
我希望HandleXML.Count返回3(dData,Type,RespData)
没有。 1是正确的输出,因为您的XML只包含一个<Resp>
元素。为了获得<Resp>
的孩子,你应该在树下再走一层:
Dim handleXML = From h In xmlInput.Elements("Resp").Elements()
'here handleXML.Count is 3'
您可能还想考虑不同的路线,查看XML序列化/反序列化:MSDN: System.Xml.Serialization.XmlSerializer
。