XDocument.Descendents不区分大小写

时间:2014-12-02 16:59:27

标签: xml vb.net

我认为XML区分大小写?我正在查看XML文件以找到一个字段,该字段将是<标题>或者<标题>。我使用以下代码:

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

所以我正在查看一个具有<标题>并且'做某事'线正在运行!我怎样才能使这个区分大小写的东西?

1 个答案:

答案 0 :(得分: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