2014-12-02 148 views
0

我認爲XML區分大小寫?我正在查看XML文件以查找將爲<標題>或<標題>的字段。我使用下面的代碼:XDocument.Descendents不區分大小寫

If Not xmlDoc.Descendants("Header") Is Nothing Then 
    do something 
ElseIf Not xmlDoc.Descendants("header") Is Nothing Then 
    do something else 
Else 
    Print(1, "No header information found" & vbCrLf) 
    messageText.Text = "Validation Complete" 
    Return false 
End If 

所以我在看有<頭一個XML文件>和「做一些事情」線正在運行!我怎樣才能使這個區分大小寫thingymabob?

回答

0

XDocument.Descendants大小寫敏感的,但如果沒有匹配的元素中找到它不會返回Nothing - 它會返回一個IEnumerable(Of XElement)沒有元素。所以,你可以重寫你的邏輯是這樣的:

If xmlDoc.Descendants("Header").Any() Then 
    ' do something - <Header> found 
ElseIf xmlDoc.Descendants("header").Any() Then 
    ' do something else - <header> found 
Else 
    Print(1, "No header information found" & vbCrLf) 
    messageText.Text = "Validation Complete" 
    Return false 
End If 

您也可以使用VB.NET對XML的文字,我覺得多一點可讀支持:

If xmlDoc...<Header>.Any() Then 
    ' do something - <Header> found 
ElseIf xmlDoc...<header>.Any() Then 
    ' do something else - <header> found 
Else 
    '... 
End If