kevp75
asked on
VB.NET DirectoryInfo Linq Query
I am trying to get a list of files from a directory using LINQ.
The files names are along these lines:
google_FQDN.sm.xml (where FQDN is the actual FQDN)
tmpDomains is a comma-delimited list of FQDNs as they are pulled form an XMl file. This pulls correctly.
The issue I am having is that nothing gets displayed. I have verified that there are 6 files in the directory. Each one of these files contains one of the FDQNs from tmpDomains.
I assume it is in my LINQ Query.
Please help?!?
Code to follow:
The files names are along these lines:
google_FQDN.sm.xml (where FQDN is the actual FQDN)
tmpDomains is a comma-delimited list of FQDNs as they are pulled form an XMl file. This pulls correctly.
The issue I am having is that nothing gets displayed. I have verified that there are 6 files in the directory. Each one of these files contains one of the FDQNs from tmpDomains.
I assume it is in my LINQ Query.
Please help?!?
Code to follow:
'Get List of domains from Common.BasePath & "Sites\CurrentSites.xml" based on SiteID
'and do this query based on that returned string
Dim objXml As New XmlDocument, tmpDomains As String
Dim objNode As XmlNode
With objXml
.Load(Common.BasePath & "Sites\CurrentSites.xml")
objNode = .SelectSingleNode("//Sites/Site[contains(@id,'" & AdminStuff.SiteID & "')]")
tmpDomains = objNode.Attributes("domains").Value
End With
Dim tmpString As New StringBuilder, x As String, tmpCt As Long = 0
Dim Query = From f In New DirectoryInfo(Common.BasePath & "Sitemaps\").GetFiles() _
Select f.Name, f.CreationTime _
Where "*" & Name & "*" Like tmpDomains
tmpString.Append("<table width=""100%"" cellpadding=""0"" cellspacing=""0"" id=""auditTable"" class=""audit_table"">" & vbCrLf)
tmpString.Append(" <thead>" & vbCrLf)
tmpString.Append(" <tr>" & vbCrLf)
tmpString.Append(" <th>File</th>" & vbCrLf)
tmpString.Append(" <th>Posted</th>" & vbCrLf)
tmpString.Append(" </tr>" & vbCrLf)
tmpString.Append(" </thead>" & vbCrLf)
tmpString.Append(" <tbody>" & vbCrLf)
For Each Item In Query
If tmpCt Mod 2 Then x = " style=""background:#EEE;""" Else x = ""
tmpString.Append(" <tr>" & vbCrLf)
tmpString.Append(" <td" & x & "><a href=""http://" & AdminStuff.SiteManaging & "/SiteMaps/" & Item.Name & """ target=""_blank"">" & Item.Name & "</a></td>" & vbCrLf)
tmpString.Append(" <td" & x & ">" & Item.CreationTime & "</td>" & vbCrLf)
tmpString.Append(" </tr>" & vbCrLf)
tmpCt += 1
Next
tmpString.Append(" </tbody>" & vbCrLf)
tmpString.Append("</table>" & vbCrLf)
Response.Write(tmpString.ToString())
tmpString = Nothing
Looks like you might have your wildcards in the wrong place...
Dim Query = From f In New DirectoryInfo(Common.BaseP ath & "Sitemaps\").GetFiles() _
Select f.Name, f.CreationTime _
Where Name Like "*" & tmpDomains & "*"
Wayne
Dim Query = From f In New DirectoryInfo(Common.BaseP
Select f.Name, f.CreationTime _
Where Name Like "*" & tmpDomains & "*"
Wayne
ASKER
tried that way as well....same results
How about something like this?
Dim arrDomains() As String = tmpDomains.Replace(" ", "").Split(","c)
Dim Query = From f In New IO.DirectoryInfo(Common.Ba sePath & "Sitemaps\").GetFiles() _
Select f.Name, f.CreationTime Where arrDomains.Contains(Name.R eplace("go ogle_", "").Replace(".xml", ""))
Wayne
Dim arrDomains() As String = tmpDomains.Replace(" ", "").Split(","c)
Dim Query = From f In New IO.DirectoryInfo(Common.Ba
Select f.Name, f.CreationTime Where arrDomains.Contains(Name.R
Wayne
ASKER
i will try this out later today
ASKER
Ok,
Dim arrDomains() As String = tmpDomains.Split(", ")
Dim Query = From f In New DirectoryInfo(Common.BaseP ath & "Sitemaps\").GetFiles() _
Select f.Name, f.CreationTime Where arrDomains.Contains(Name.R eplace("go ogle_", "").Replace(".xml", "")) _
Or arrDomains.Contains(Name.R eplace("si temap_", "").Replace(".xml", ""))
works, however, it does not grab the www files
Dim arrDomains() As String = tmpDomains.Split(", ")
Dim Query = From f In New DirectoryInfo(Common.BaseP
Select f.Name, f.CreationTime Where arrDomains.Contains(Name.R
Or arrDomains.Contains(Name.R
works, however, it does not grab the www files
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thank you
ASKER
google_www.o7th.com.xml
google_www.07th.com.xml
google_www.o7thwebdesign.com.xml
google_www.07thwebdesign.com.xml
google_07th.com.xml
google_o7th.com.xml
and the actual tmpDomains value is:
o7th.com, 07th.com, o7thwebdesign.com, 07thwebdesign.com, www.o7th.com, www.07th.com, www.o7thwebdesign.com, www.07thwebdesign.com
what I am trying to do is display the file list based on if they exist in tmpDomains