• Skip to main content
  • Skip to primary sidebar
  • Home
  • About
  • Recommended Readings
    • 2022 Book Reading
    • 2023 Recommended Readings
    • Book Reading 2024
    • Book Reading 2025
  • Supply Chain Management Guide
  • PKM
  • Microsoft Excel

Ali Raza Zaidi

A practitioner’s musings on Dynamics 365 Finance and Operations

How to check the value of tag in web config. in c#

October 8, 2007 by alirazazaidi

Currently i have to work on some console application that reads all web.cong files in specific folder, for example it read the value of <compliation/> tag in c://inetpub where usually all web sites are placed. There are many ways to do it. Read all web.config as xml and read a node, but i did it with the help of System.IO I pasted the code as follow.

 

using System;

using System.Collections.Generic;

using System.Text;

using System.Web.Configuration;

using System.IO;

namespace WebConfigCheckerTool

{

class Program

{

//The meath where i read the web.config as a simple text file

//strpath take the phyiscal path in specific folder

//Searchstring contains the value of tag which value is search in tag

private static void SearchNode(string strPath, string Searchstring)

{

try

{

StreamReader srConfig = new StreamReader(strPath);

//i required only name of website or sub folder name where web.config locate

string[] FolderName = strPath.Split(”);

string WebSiteName = FolderName[FolderName.Length – 2].ToString();

//Read whole web.config in string and shift it into lower case so case sensitve will not create problem in searching

string strConfig = srConfig.ReadToEnd().ToLower();

//Searching the index of tag of in string  using simple string functions.

int _strMain = strConfig.IndexOf(“<“ + Searchstring + “>”);

if (_strMain == -1)

{

//if not found may be tag is in single line for example <compilation //valu=”debug” /> So i search “< compilation

int _Str = strConfig.IndexOf(@”<“ + Searchstring);

// if not found in as both case <compliation /> or <compliation > //<compliation>

if (_Str == -1)

{

Console.WriteLine(WebSiteName + ” at Not Found”);

}

else

{

// if tag in the form of  <compilation value=”bug” /> . Then find index of “>” //closing tag

int _Str2 = strConfig.IndexOf(“>”, _Str);

// Find the total length of string containing  taqs value

int _strLength = _Str2 – _Str;

Console.Write(” > “ + WebSiteName + ” “);

//write the value of string form starting taq to toal length +1

Console.WriteLine(strConfig.Substring(_Str, _strLength + 1));

Console.WriteLine(“************************************************”);

}

}

if (_strMain != -1)

{

string LastSrting = (“</” + Searchstring + “>”);

int _strlast = strConfig.IndexOf(LastSrting);

int _Str2 = strConfig.IndexOf(“>”, _strlast);

int _str3 = _Str2 – _strlast;

int _strLength = (_strlast – _strMain) + _str3;

Console.Write(” > “ + WebSiteName + ” “);

Console.WriteLine(strConfig.Substring(_strMain, _strLength + 1));

Console.WriteLine(“************************************************”);

}

}

catch (Exception ex)

{

Console.WriteLine(“Not Found”);

}

}

//The method where i write the read the specific directory

public static void DirSearch(string sDir,string SearchString)

{

try

{

foreach (string d in Directory.GetDirectories(sDir))

{

foreach (string f in Directory.GetFiles(d, “Web.config”))

{

SearchNode(f, SearchString);

}

DirSearch(d,SearchString);

}

}

catch (System.Exception excpt)

{

// Console.WriteLine(excpt.Message);

Console.WriteLine(” Directory dot found or drive name is invalid. “);

}

}

static void Main(string[] args)

{

string Check=“Y”;

do

{

Console.WriteLine(“***************************************************************”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* Web.Config Checker Tool *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“***************************************************************”);

Console.WriteLine(“”);

Console.WriteLine(“”);

Console.WriteLine(“Please Enter the search Word”);

string Searchstring = Console.ReadLine();

Searchstring = Searchstring.ToLower();

Console.WriteLine(“*****************************************************”);

Console.WriteLine(“Please Enter the search Directory Path”);

string DirectoryPath = Console.ReadLine();

//DirSearch(@”C:Inetpubwwwroot”, Searchstring);

DirSearch(DirectoryPath, Searchstring);

Console.WriteLine(“***************************************************************”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* Web.Config Checker Tool *”);

Console.WriteLine(“* *”);

Console.WriteLine(“* *”);

Console.WriteLine(“***************************************************************”);

Console.WriteLine(” Do You Want to Search Again, Please Press ‘Y’ or search again “);

Check = Console.ReadLine();

Console.Clear();

}

while (Check == “Y” || Check == “y”);

}

}

}

 

try it it will help you

Filed Under: Uncategorized

Primary Sidebar

About

I am Dynamics AX/365 Finance and Operations consultant with years of implementation experience. I has helped several businesses implement and succeed with Dynamics AX/365 Finance and Operations. The goal of this website is to share insights, tips, and tricks to help end users and IT professionals.

Legal

Content published on this website are opinions, insights, tips, and tricks we have gained from years of Dynamics consulting and may not represent the opinions or views of any current or past employer. Any changes to an ERP system should be thoroughly tested before implementation.

Categories

  • Accounts Payable (2)
  • Advance Warehouse (2)
  • Asset Management (3)
  • Azure Functions (1)
  • Books (6)
  • Certification Guide (3)
  • Customization Tips for D365 for Finance and Operations (62)
  • D365OF (59)
  • Data Management (1)
  • database restore (1)
  • Dynamics 365 (58)
  • Dynamics 365 for finance and operations (135)
  • Dynamics 365 for Operations (165)
  • Dynamics AX (AX 7) (134)
  • Dynamics AX 2012 (274)
  • Dynamics Ax 2012 Forms (13)
  • Dynamics Ax 2012 functional side (16)
  • Dynamics Ax 2012 Reporting SSRS Reports. (31)
  • Dynamics Ax 2012 Technical Side (52)
  • Dynamics Ax 7 (65)
  • Exam MB-330: Microsoft Dynamics 365 Supply Chain Management (7)
  • Excel Addin (1)
  • Favorites (12)
  • Financial Modules (6)
  • Functional (8)
  • Implementations (1)
  • Lifecycle Services (1)
  • Logseq (4)
  • Management Reporter (1)
  • Microsoft Excel (4)
  • MS Dynamics Ax 7 (64)
  • MVP summit (1)
  • MVP summit 2016 (1)
  • New Dynamics Ax (19)
  • Non Defined (9)
  • Note taking Apps (2)
  • Obsidian (3)
  • Personal Knowledge Management (2)
  • PKM (13)
  • Power Platform (6)
  • Procurement (5)
  • procurement and sourcing (5)
  • Product Information Management (4)
  • Product Management (6)
  • Production Control D365 for Finance and Operations (10)
  • Sale Order Process (10)
  • Sale Order Processing (9)
  • Sales and Distribution (5)
  • Soft Skill (1)
  • Supply Chain Management D365 F&O (3)
  • Tips and tricks (278)
  • Uncategorized (165)
  • Upgrade (1)
  • Web Cast (7)
  • White papers (4)
  • X++ (7)

Copyright © 2025 · Magazine Pro On Genesis Framework · WordPress · Log in