2016-10-13 9 views
0

このxml文字列を解析しようとしていますが、属性が 'xmlns'の場合​​はnullを返します。属性を削除するか名前を変更すると正常に動作します。 私はウェブリクエストから得ているxmlの小さなビットを読み込む必要がありますが、XMLのほとんどはこの属性でフォーマットされているようです。レスポンスを文字列に入れて、nullを返そうとしました。xmlnsをビジュアルベーシックで解析する

私も試してみました:

Dim df As XNamespace =xelement.Root.Namespace 

が、ルートを得るには、XElementオブジェクトのメンバーではありません。

Dim filename As String ="<Age xmlns=""http://newage/age/result"">15</Age>" 

label2.Content = XMLparse("Age", filename) 


Function XMLparse(ByVal strTAG As String, ByVal strXML As String) As String 

    Dim xelement As XElement = XElement.Parse(strXML) 
    Dim val As String  
    Dim df As XNamespace = "abc" 
    val = "" 
    Try 
     Dim q = From el In xelement.DescendantsAndSelf(strTAG) 
       Select el.Value 

     For Each em In q 
      val = val + "" + em.ToString() + "," 
     Next em 
     val = val.TrimEnd(CChar(",")) 
    Catch ex As Exception 
     Return "Error: Can't search for tag in XML" 
    End Try 
    Return val 
End Function 

答えて

0
Function XMLparse(ByVal strTAG As String, ByVal strXML As String) As String 
    Dim xelement As XElement = XElement.Parse(strXML) 
    Dim val As String  
    Dim df As XNamespace.Get("http://newage/age/result") 

    val = "" 
    Try 
     Dim q = From el In xelement.DescendantsAndSelf(df + strTAG) 
      Select el.Value 

     For Each em In q 
      val = val + "" + em.ToString() + "," 
     Next em 
     val = val.TrimEnd(CChar(",")) 
    Catch ex As Exception 
     Return "Error: Can't search for tag in XML" 
    End Try 
    Return val 
End Function 
関連する問題