Live with Dot Net Just another Programming weblog

Using XML Nodes and implement RegEx in VB.Net

Posted on December 31, 2008

Retrive the information from the XML File and evalute the string using the Regular expression.

XML File which we will iterate and retrive data from:

Pattern.xml:-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8" ?> 
- <MatchingCriterias>
- <CriteriaForAllPages>
  <MatchingCriteria Value="Chksum: \d(2,)" /> 
  </CriteriaForAllPages>
- <CriteriaForDeletedPages>
- <Criteria Name="DocHeaderPage">
  <MatchingCriteria Value="DOC \d+ \:?\s?Header" /> 
  </Criteria>
- <Criteria Name="SubmissionHeaderPage">
  <MatchingCriteria Value="JobNumber:" /> 
  <MatchingCriteria Value="SUBMISSION" /> 
  <MatchingCriteria Value="SUBMISSION-CONTACT" /> 
  </Criteria>
- <Criteria Name="DocumentDescriptionPage">
  <MatchingCriteria Value="JobNumber:" /> 
  <MatchingCriteria Value="Name" /> 
  <MatchingCriteria Value="Description" /> 
  <MatchingCriteria Value="DOC \d+" /> 
  </Criteria>
  </CriteriaForDeletedPages>
  </MatchingCriterias>

VB Code to retreive the informations:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Imports System.Text.RegularExpressions
Imports System.Xml
Imports System.IO
 
Private Function IsDocHeaderPage(ByRef oPage As String) As Boolean
        Dim xmlCriteriaDoc As XmlDocument, lstCriteria As XmlNodeList, nodeCriteria As XmlNode, nodeChildCriteria As XmlNode
        Dim blnCheckCriteria As Boolean
        xmlCriteriaDoc = New XmlDocument
        Try
            xmlCriteriaDoc.Load("C://Temp//Pattern.xml")
            If Not xmlCriteriaDoc Is Nothing Then
                lstCriteria = xmlCriteriaDoc.SelectNodes("//CriteriaForAllPages")
                If Not lstCriteria Is Nothing Then
                    For Each nodeCriteria In lstCriteria
                        For Each nodeChildCriteria In nodeCriteria.ChildNodes
							'using regular expression with the pattern retreived
                            blnCheckCriteria = Regex.IsMatch(oPage.ToString, nodeChildCriteria.Attributes("Value").InnerText.ToString(), RegexOptions.Singleline)
                            If blnCheckCriteria Then
                                IsDocHeaderPage = False
                                Return IsDocHeaderPage
                            End If
                        Next nodeChildCriteria
                    Next nodeCriteria
                End If
 
                lstCriteria = xmlCriteriaDoc.SelectNodes("//CriteriaForDeletedPages/Criteria")
                If Not lstCriteria Is Nothing Then
                    For Each nodeCriteria In lstCriteria
                        For Each nodeChildCriteria In nodeCriteria.ChildNodes
                            blnCheckCriteria = Regex.IsMatch(oPage.Contents.CreateSingleContent.Stream.ToString, nodeChildCriteria.Attributes("Value").InnerText.ToString(), RegexOptions.Singleline)
                            If Not blnCheckCriteria Then
                                Exit For
                            End If
                            If nodeChildCriteria Is nodeCriteria.LastChild Then
                                IsDocHeaderPage = True
                                IsAnyHeaderPageExists = True
                                Return IsDocHeaderPage
                            End If
                        Next nodeChildCriteria
                    Next nodeCriteria
                End If
            End If
 
        Catch ex As Exception
            IsDocHeaderPage = False
            MessageBox.Show(ex.Message)
        End Try
    End Function

About admin

No description. Please complete your profile.
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.