在vb.net中解析XML
我有一些供应商提供给我的XML,无论我怎么做,我都无法在VB.net中解析它。我是XML的新手,所以请理解这一点 这是供应商发送给我的xml:在vb.net中解析XML,xml,vb.net,Xml,Vb.net,我有一些供应商提供给我的XML,无论我怎么做,我都无法在VB.net中解析它。我是XML的新手,所以请理解这一点 这是供应商发送给我的xml: <?xml version='1.0'?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="event"> <xsd:complexType&
<?xml version='1.0'?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:element name="event">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id" type="xsd:integer"></xsd:element>
<xsd:element name="old_id" type="xsd:integer"></xsd:element>
<xsd:element name="opponent" type="xsd:string">Austin MS</xsd:element>
<xsd:element name="game_date" type="xsd:string">2011-08-31</xsd:element>
<xsd:element name="start_time" type="xsd:string">5:00PM</xsd:element>
<xsd:element name="end_time" type="xsd:string">8:00PM</xsd:element>
<xsd:element name="sport" type="xsd:string">Baseball</xsd:element>
<xsd:element name="level" type="xsd:string">7th</xsd:element>
<xsd:element name="gender" type="xsd:string">Boys</xsd:element>
<xsd:element name="year" type="xsd:string">2011</xsd:element>
<xsd:element name="season" type="xsd:string">Fall</xsd:element>
<xsd:element name="status" type="xsd:string">Deleted</xsd:element>
<xsd:element name="homeaway" type="xsd:string">Home</xsd:element>
<xsd:element name="facility">France</xsd:element>
<xsd:element name="facility_id" type="xsd:integer"></xsd:element>
<xsd:element name="opponent">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ss_id" type="xsd:integer">19505</xsd:element>
<xsd:element name="name" type="xsd:string">Austin MS</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="location">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ss_id" type="xsd:integer">108</xsd:element>
<xsd:element name="name" type="xsd:string">Breck School</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="score">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="result" type="xsd:string"></xsd:element>
<xsd:element name="ours" type="xsd:string"></xsd:element>
<xsd:element name="theirs" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="league" type="xsd:string"></xsd:element>
<xsd:element name="type" type="xsd:string">Championship</xsd:element>
<xsd:element name="ss_id" type="xsd:string">305</xsd:element>
<xsd:element name="transportation" type="xsd:string"></xsd:element>
<xsd:element name="dismissal" type="xsd:string"></xsd:element>
<xsd:element name="return" type="xsd:string"></xsd:element>
<xsd:element name="comment">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="school" type="xsd:string"></xsd:element>
<xsd:element name="conference" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="home_team" type="xsd:string">Breck - St Paul - Apple Valley</xsd:element>
<xsd:element name="activity_type" type="xsd:string">conference</xsd:element>
<xsd:element name="category" type="xsd:string"></xsd:element>
<xsd:element name="sub_category" type="xsd:string"></xsd:element>
<xsd:element name="state" type="xsd:string">MN</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
奥斯汀女士
2011-08-31
下午五点
晚上八点
棒球运动
第七
男孩
2011
落下
删除
家
法国
19505
奥斯汀女士
108
布雷克学校
冠军地位
305
布雷克-圣保罗-苹果谷
会议
锰
我曾尝试使用XSD.exe创建vb.net类,但发现了一些错误。我已经联系了提供XML的供应商,但他们没有提供太多帮助。我希望能够将此XML压缩到一个函数中,并让它弹出一个包含XML中的属性和列表的列表(SportEvents)
如果能帮我指明正确的方向,我将不胜感激。
谢谢我使用的方法是实现System.Xml功能 您可以这样加载文档
configDoc.Load("filepath") 'load the file
然后拉入单个节点或节点列表中的值
stringHolder = configDoc.SelectSingleNode("/xpath").attributes.getNamedItem("attributeName").Value.toString()
或用于内部节点列表
nodes = configDoc.SelectNodes("/xpath")
for each n as XmlNode in nodes
stringHolder = n.attributes.getNamedItem("attributeName").Value.toString()
'do stuff with string
next
现在这些方法只处理xml节点的属性。如果您需要内部文本,那么您可以研究。innertext()非常简单。希望这至少能帮助您找到正确的方向。您发布的XML是一个模式文件,它描述了一种XML格式。XSD.exe出现了什么错误?您必须导入system.xml
nodes = configDoc.SelectNodes("/xpath")
for each n as XmlNode in nodes
stringHolder = n.attributes.getNamedItem("attributeName").Value.toString()
'do stuff with string
next