2016-04-22 5 views
0

XML形式の特定の情報を返す作成済みのSubがあります。しかし、Subに値を渡して、エラーノード/要素で戻ってくることもあります。これらのエラーノード/要素をスキップしたい、あるいはテーブルから抜け出したいと思います。これはどのように達成できますか?以下は私のコードです:エラーノード/要素を検出してループを終了し、VB.netテーブルに挿入しない

returnXML = getXml(ISBN) 

'Assuming this is where I'm supposed to write a for each loop before going into the table to detect the error nodes? 

dtReturnXMl(returnXML) 

Public Sub dtReturnXML(getReturnXML As String) 
dsReturn.Read(New XmlTextReader(New StringReader(getReturnXML))) 
dvReturn = dsReturn.Tables("Offer").DefaultView 
dvReturn.Sort = "Merchant, Condition ASC" 
dtReturn = dvRturn.ToTable("Offer") 
End Sub 

returnXMLからXML:

<?xml version="1.0" encoding="UTF-8" ?> 
<Response> 
    <Errors> 
    <Error> 
     <ErrorMessage>One or more ISBNS not found</ErrorMessage> 
    </Error> 
    <Error> 
     <ErrorMessage>One or more ISBNS not found</ErrorMessage> 
    </Error> 
    </Errors> 
</Response> 
+0

を試してみてください? – dbasnett

+0

価格、タイトル、isbnなどの書籍情報を返します。 – Kluong

答えて

0

エラーがない場合の方法は何を返さないこの

Imports System.Xml 
Imports System.Xml.Linq 
Module Module1 

    Sub Main() 
     Dim returnXML As XDocument = getXml("ISBN") 
     Dim errors As String() = returnXML.Descendants("ErrorMessage").Select(Function(x) x.Value).ToArray 

    End Sub 
    Function getXml(ISBN As String) As XDocument 
     Dim xml As String = _ 
       "<?xml version=""1.0"" encoding=""UTF-8""?>" & _ 
       "<Response>" & _ 
        "<Errors>" & _ 
         "<Error>" & _ 
          "<ErrorMessage>One or more ISBNS not found</ErrorMessage>" & _ 
         "</Error>" & _ 
         "<Error>" & _ 
          "<ErrorMessage>One or more ISBNS not found</ErrorMessage>" & _ 
         "</Error>" & _ 
        "</Errors>" & _ 
       "</Response>" 

     Return XDocument.Parse(xml) 

    End Function 

End Module 
関連する問題