0

(Web サービスから) xml をデータセットにロードしようとしています。私の問題は、xml が常に同じ構造を持っているとは限らないことです。

このように見えます

<Articles> 
   <Article>
      <id>7156</id>
      <name>FirstArticle</name>
      <pic>zaea.jpg </pic>
   </Article>
   <Article>
      <id>7157</id>
      <name>Second</name>
   </Article>
<Articles>

ご覧のとおり、最初のノードには "pic" があり、2 番目のノードにはありません。私の問題は、「すべてのプロパティがある」ため、最初のノードのみをデータセットにロードすることです。ノードに 1 つのプロパティがない場合、データセットにロードされません...

これが私がすることです

Dim dataSet As New DataSet()
Dim httpResponse As String
httpResponse = HttpRequest.WRequest("WEBSERVICE URL")
Dim xmlSR As System.IO.StringReader = New System.IO.StringReader(httpResponse)
dataSet.ReadXml(xmlSR)

データをロードする前にデータセットの列を追加しようとしましたが、何も変わりません...

どうやってやるの?ありがとう

4

2 に答える 2

0

私の意見では、XML 構造は有効ではありません。値がない場合はプロパティを避けるべきではありません. 2 番目の article 要素に</pic>も記述を検討する必要があります.<pic></pic>

于 2012-07-25T14:43:41.753 に答える
0

試す

dataSet.ReadXml(xmlSR,XmlReadMode.IgnoreSchema)

このためのスキーマがあれば、<xsl:choose>条件を使用する必要があります。

于 2012-07-25T14:49:00.163 に答える