Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中解析XML_Xml_Vb.net - Fatal编程技术网

在vb.net中解析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,无论我怎么做,我都无法在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>
  <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