using System.Collections.Generic;
public static void Main()
var xsl = "userjson.xsl";
var xml = "Configuration_Users.xml";
Dictionary<string, object> dictionary = new Dictionary<string, object>();
dictionary.Add("listname", "Users");
var output = generateControlFromXSL(xml, xsl, dictionary);
private static string generateControlFromXSL(string source, string style, Dictionary<string, object> parameters)
if (File.Exists(source) && File.Exists(style))
XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
xslCompiledTransform.Load(style);
XsltArgumentList xsltArgumentList = new XsltArgumentList();
foreach (string key in parameters.Keys)
xsltArgumentList.AddParam(key, "", parameters[key]);
StringBuilder stringBuilder = new StringBuilder();
XmlWriter xmlWriter = XmlWriter.Create(stringBuilder);
xslCompiledTransform.Transform(source, xsltArgumentList, xmlWriter);
result = stringBuilder.ToString();
public static void WriteXsl(string path)
@"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet xmlns:def='Items_Schema' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
<xsl:output method='text'/>
<xsl:template match='def:items'>
<xsl:for-each select='def:item'>
'<xsl:value-of select='.' />':null<xsl:if test='position() != last()'><xsl:text>,</xsl:text></xsl:if>
public static void WriteXml(string path)
<items xmlns='Items_Schema'>
<item code='5800'>Abbott, Von</item>
<item code='5768'>Acker, Cody</item>
<item code='5153'>Adams, Rachel</item>
<item code='5281'>Ambrose, Michael A</item>
<item code='5849'>Amin, Asra</item>
<item code='5142'>An, Young</item>
<item code='5570'>Anderson, Moriah</item>
<item code='5801'>Antaran, Aaron</item>
<item code='5299'>Ashby, John L</item>
<item code='5802'>Ashton, Philip</item>
<item code='5751'>Augustine, Will</item>
<item code='5642'>Baber, Ashby</item>
<item code='5778'>Baier, Alex J</item>
<item code='5484'>Baskin, Samantha</item>
<item code='5494'>Bates, Carlton P</item>
<item code='5823'>Baylor, Gregory</item>
<item code='5400'>Beavan, Joseph S</item>
<item code='5824'>Beckett, Andrew M</item>
<item code='5487'>Bellomo, Timothy</item>
<item code='5750'>Bennett, Trevon L</item>
<item code='5089'>Black, Kevin</item>
<item code='5803'>Blais, Wayne</item>
<item code='5825'>Blunt, Tara R</item>
<item code='5933'>Bonkoski, Kelsea N</item>
<item code='5303'>Bosse, Matthew J</item>
<item code='5403'>Bosser, Kim M</item>
<item code='5613'>Bowman, De'Angelo J</item>
<item code='5492'>Boyd, Richard C</item>
<item code='5759'>Brengelman, Kelynn</item>
<item code='5835'>Brinkley, Kristina</item>
<item code='5571'>Brown, Charles</item>
<item code='5378'>Brown, Kenan</item>
<item code='5779'>Brown, Ronnell</item>
<item code='5956'>Buchanan, Andrea L</item>
<item code='5074'>Buehler, Brett M</item>
<item code='5379'>Bullis, Justin</item>
<item code='5714'>Burke, James P</item>
<item code='5780'>Burkett, Kyle</item>
<item code='5366'>Burton, Martina</item>
<item code='5495'>Bustillo, Elmer A</item>
<item code='5348'>Cahill, Michael J</item>
<item code='5781'>Camargo, Victor</item>
<item code='5761'>Campbell, Caylin</item>
<item code='5091'>Carlson, Theresa</item>
<item code='5092'>Carper, Steven</item>
<item code='5267'>Casalena, Anthony J</item>
<item code='5266'>Cassidy, Patrick</item>
<item code='5176'>Castaneda, Francisco</item>
<item code='5178'>Cephers, Durant L</item>
<item code='5430'>Chandler, Michael</item>
<item code='5501'>Chatelain, Dominique M</item>
<item code='5513'>Chronister, Mark A</item>
<item code='5782'>Collins, Tyler</item>
<item code='5981'>Cook, Gregory</item>
<item code='5046'>Cook, Henry E</item>
<item code='5752'>Corder, Scott M</item>
<item code='5381'>Couture-Grove, Keenan</item>
<item code='5470'>Cox, Mark C</item>
<item code='5973'>Craig, Matthew E</item>
<item code='5783'>Crimmins, Sean</item>
<item code='5233'>Cross, Michael A</item>
<item code='5497'>Cross, Michael J</item>
<item code='5471'>Dalton, Jordan C</item>
<item code='5116'>Daniels, Travis</item>
<item code='5804'>Debenedetto, Matthew</item>
<item code='5572'>Degenhardt, Tyler</item>
<item code='5686'>Dell, David</item>
<item code='5514'>Dell, Leddyanne</item>
<item code='5452'>Denardo, David A</item>
<item code='5535'>Dent, Myron</item>
<item code='5675'>Digilio, Roger</item>
<item code='5729'>Doddington, Eric</item>
<item code='5805'>Donohue, Amanda</item>
<item code='5687'>Doyle, Chris E</item>
<item code='5698'>Drevna, Darryl M</item>
<item code='5777'>Duke, Andrew</item>
<item code='5079'>Dussia, Hillary A</item>
<item code='5417'>Earley, Kristina L</item>
<item code='5758'>Eason, David</item>
<item code='5120'>Ellzy, Megan</item>
<item code='5573'>Europe, Sean</item>
<item code='5730'>Evans, Katherine</item>
<item code='5983'>Evans, Patrick W</item>
<item code='5746'>Evans, Ray</item>
<item code='5485'>Evans-Sherman, Carlotta</item>
<item code='5382'>Everhart, Jonathan</item>
<item code='5537'>Faber, Michael</item>
<item code='5022'>Fair, Gerald L</item>
<item code='5913'>Farmer, Larosa M</item>
<item code='5368'>Fisher, Andrea</item>
<item code='5342'>Fitzgerald, Brett E</item>
<item code='5806'>Flynn, Jonathan</item>
<item code='5749'>Follett, Torie G</item>
<item code='5173'>Force, Lindsey A</item>
<item code='5517'>Fox, David D</item>
<item code='5784'>Foy, Reginald</item>
<item code='5552'>Franke, John</item>
<item code='5475'>Fredericks, Tyler S</item>
<item code='5383'>Freeman, Edward</item>
<item code='5748'>Freeman, Shelly</item>
<item code='5631'>Furr, Russell A</item>
<item code='5555'>Garber, David</item>
<item code='5754'>Garcia, Benjamin</item>
<item code='5145'>Gates, Hillary</item>
<item code='5503'>Gibson, Presley H</item>
<item code='5574'>Ginman, Raymond</item>
<item code='5380'>Givens, Fiera</item>
<item code='5807'>Godsey, Sandy</item>
<item code='5808'>Gould, Cody</item>
<item code='5078'>Goza, Sean</item>
<item code='5181'>Gray, Calvin</item>
<item code='5369'>Gray, Willie</item>
<item code='5576'>Grayson, Daniel</item>
<item code='5577'>Grayson, Rachel</item>
<item code='5770'>Haile, Biniam</item>
<item code='5995'>Hakenson III, Harry M</item>
<item code='5920'>Hall, Cameron</item>
<item code='5496'>Hammad, Haithem N</item>
<item code='5384'>Hann, Caleb</item>
<item code='5405'>Harris II, John W</item>
<item code='5101'>Harrison, Jamar</item>
<item code='5836'>Harrison, Jr., Jeffrey B</item>
<item code='5554'>Haught, Benjamin T</item>
<item code='5480'>Hayes, Darren L</item>
<item code='5121'>Hematti, Arash</item>
<item code='5578'>Hematti, Daryoush</item>
<item code='5377'>Henning, Michael S</item>
<item code='5786'>Hepner, Cody</item>
<item code='5700'>Herbert, Joseph</item>
<item code='5182'>Herring, Clinton D</item>
<item code='5767'>Hicks, Nicolas</item>
<item code='5437'>Hoffman, Jack A</item>
<item code='5506'>Hoffmaster, John T</item>
<item code='5731'>Honaker, Elizabeth</item>
<item code='5771'>Horn, Justin</item>
<item code='5146'>Howell, Remi</item>
<item code='5349'>Hricik, Brian R</item>
<item code='5563'>Hunt, Daniel W</item>
<item code='5809'>Hunt, James</item>
<item code='5086'>Jackson, Amanda B</item>
<item code='5834'>Jackson, Jr., Douglas C</item>
<item code='5735'>Jaffry, Timothy</item>
<item code='5489'>Johnson, Antoine W</item>
<item code='5680'>Johnson, Jr., Thomas Y</item>
<item code='5810'>Jones, Blake</item>
<item code='5615'>Jones, Jr., Aaron M</item>
<item code='5385'>Jones, Khalil</item>
<item code='5579'>Jordano, Julia</item>
<item code='5500'>Joy, Tiffany L</item>
<item code='5386'>Kappelman, Karl</item>
<item code='5649'>Kehoe, William</item>
<item code='5362'>Eichelberger, Tracy</item>
<item code='5438'>Kelly, Anthony E</item>
<item code='5564'>Kempton, Dylan N</item>
<item code='5387'>Kennedy Jr, Robert</item>
<item code='5271'>Kilner, Ryan</item>
<item code='5617'>King, Margaret D</item>
<item code='5811'>Kirk, Daujaune W</item>
<item code='5455'>Koerner, Fredrick K</item>
<item code='5358'>Kohrt, Michael</item>
<item code='5275'>Konczal, Joseph</item>
<item code='5124'>Krause, Nathan</item>
<item code='5519'>Krimmer, Richard J</item>
<item code='5538'>Kuehler, Jason</item>
<item code='5412'>Kunkle, Christopher W</item>
<item code='5440'>Kunkle, Timothy P</item>
<item code='5582'>Laios (McCarron), Lisa</item>
<item code='5701'>Lake, Cynthia A</item>
<item code='5420'>Lallier, Chad A</item>
<item code='5757'>Larios, Daniel</item>
<item code='5528'>Lazo, Rossana</item>
<item code='5476'>Lee, Alexander W</item>
<item code='5421'>Lee, Larry D</item>
<item code='5772'>Lehman, Alexis</item>
<item code='5812'>Long, Jeremy</item>
<item code='5493'>Longo, Brody A</item>
<item code='5388'>Loper, Lindsay</item>
<item code='5413'>Lukes, David C</item>
<item code='5108'>Lynch, Donald</item>
<item code='5984'>Lynn, Donald K</item>
<item code='5974'>Lynn, Michael A</item>
<item code='5989'>Lyon, Patrick G</item>
<item code='5214'>Lyons, Micheall A</item>
<item code='5539'>Macclain, Erik</item>
<item code='5312'>Mackall, Donald M</item>
<item code='5765'>Mackey, Kara</item>
<item code='5833'>Majak, Lydia</item>
<item code='5110'>Majano, Concepcion A</item>
<item code='5581'>Malec, Michael</item>
<item code='5276'>Malia, Johnathan</item>
<item code='5050'>Marfori, Joseph</item>
<item code='5198'>Marks, Lindsay</item>
<item code='5774'>Masker, Thomas</item>
<item code='5294'>Masser, Rodney E</item>
<item code='5540'>Matthews, Tiffany</item>
<item code='5336'>McCarther, Johnny W</item>
<item code='5717'>Mcfadden, Nancy A</item>
<item code='5764'>McGrellis, Barry</item>
<item code='5841'>McHugh, Ellen P</item>
<item code='5814'>McKee, Nathaniel</item>
<item code='5682'>McKenney, Karl D</item>
<item code='5282'>Mcmaster, Daniel A</item>
<item code='5337'>Meckes, Bryan D</item>
<item code='5389'>Meisner, Todd</item>
<item code='5611'>Menjivar, Mauricio A</item>
<item code='5816'>Merani, Joshua</item>
<item code='5054'>Mikell, James</item>
<item code='5788'>Milton, Devin</item>
<item code='5278'>Mitchem III, Thomas</item>
<item code='5187'>Molina, Henry</item>
<item code='5743'>Molivadas, Caroline V</item>
<item code='5762'>Moore, Genet</item>
<item code='5551'>Murphy, Vernon</item>
<item code='5832'>Muse Jr., Ricky</item>
<item code='5125'>Mustian, Erin</item>
<item code='5331'>Myers, Richard J</item>
<item code='5080'>Neill, Caitlin</item>
<item code='5127'>Okoli, Chizoba</item>
<item code='5247'>Overkott, Raymond E</item>
<item code='5390'>Palucho, Leslie</item>
<item code='5264'>Parker, Samuel R</item>
<item code='5583'>Payne, Joseph</item>
<item code='5391'>Penn, Christopher</item>
<item code='5817'>Penny, Francis</item>
<item code='5482'>Persetic, Marissa</item>
<item code='5773'>Phillips, Dallas</item>
<item code='5191'>Phillips, Holly</item>
<item code='5338'>Phillips, Jr, Lonnie L</item>
<item code='5753'>Phillips, Matthew</item>
<item code='5818'>Pilgrim, Ferdinand</item>
<item code='5977'>Plunkett, David L</item>
<item code='5483'>Podlucky, James</item>
<item code='5584'>Porcelli, Joseph</item>
<item code='5392'>Potter, Jacob</item>
<item code='5763'>Price, Da'Mon</item>
<item code='5283'>Prodoehl, Jeffery</item>
<item code='5819'>Prost, Travis</item>
<item code='5542'>Pumphrey, Corrin</item>
<item code='5129'>Quante, Matthew</item>
<item code='5155'>Rayman, Jeffrey</item>
<item code='5426'>Renick, Michael G</item>
<item code='5427'>Renner, Jodi R</item>
<item code='5975'>Reyes, Samuel D</item>
<item code='5372'>Rittenberry, Katherine</item>
<item code='5394'>Robinson, Janai</item>
<item code='5585'>Robinson, Thomas</item>
<item code='5586'>Ros, James</item>
<item code='5789'>Rosales, Erick M</item>
<item code='5287'>Ross, Glenn A</item>
<item code='5274'>Ruff, Frederick E</item>
<item code='5957'>Ruggles, Brent M</item>
<item code='5130'>Samuel, Ronald</item>
<item code='5288'>Santano, Luis R</item>
<item code='5014'>Scarboro, Francois</item>
<item code='5939'>Schmauder, Jason</item>
<item code='5775'>Schwartz, Brandon</item>
<item code='5459'>Scott, Donald L</item>
<item code='5486'>Scott, Teresa</item>
<item code='5531'>Shade, Chad</item>
<item code='5755'>Shamleffer, Brett</item>
<item code='5160'>Sharpe, Jason</item>
<item code='5428'>Sharpe, Michael L</item>
<item code='5724'>Shelley-Ellman, Jeanine</item>
<item code='5546'>Sherman, Warner</item>
<item code='5842'>Shilling, Matthew R</item>
<item code='5401'>Short, Dennis R</item>
<item code='5547'>Shorter, Sylvester</item>
<item code='5831'>Silverwood, John D</item>
<item code='5468'>Simba, Lisa</item>
<item code='5193'>Sisler, Jeremiah</item>
<item code='5668'>Slade, W. Scooter</item>
<item code='5588'>Small, Anthony</item>
<item code='5449'>Smedley, Corey A</item>
<item code='5589'>Smith, Christopher</item>
<item code='5395'>Smith, Jason</item>
<item code='5565'>Smith, Sheila M</item>
<item code='5194'>Smith, Steven</item>
<item code='5168'>Smith, Tyler</item>
<item code='5590'>Smothers, Stuart</item>
<item code='5566'>Sollers, Warren A</item>
<item code='5790'>Sperry, Keenan</item>
<item code='5684'>Squires, Everett</item>
<item code='5843'>Stavlo, James</item>
<item code='5135'>Stein, William G</item>
<item code='5532'>Stephens, Amy</item>
<item code='5200'>Stimart, Zachary</item>
<item code='5133'>Strowman, Bradley</item>
<item code='5498'>Stuppert, Philipp</item>
<item code='5815'>Sublett, John D</item>
<item code='5844'>Such, Michael</item>
<item code='5219'>Swanick, James</item>
<item code='5477'>Tapscott, Keith N</item>
<item code='5591'>Taylor, Jeffrey</item>
<item code='5458'>Taylor, Lori A</item>
<item code='5076'>Tharpe, Barbara</item>
<item code='5396'>Thomas, Marcus</item>
<item code='5845'>Thomas, Russell</item>
<item code='5397'>Thompson, Brandon</item>
<item code='5085'>Thompson, Chris</item>
<item code='5284'>Thompson, Ramone</item>
<item code='5820'>Thompson, Randolph M</item>
<item code='5846'>Thorne, Daniel</item>
<item code='5847'>Thorne, Russell</item>
<item code='5567'>Tinsley III, James E</item>
<item code='5791'>Tizol, Antonio</item>
<item code='5848'>Torbert, Jesse</item>
<item code='5593'>Townsend, Robert</item>
<item code='5937'>Tran, Khoa D</item>
<item code='5792'>Trujillo, Gabriel A</item>
<item code='5594'>Turner, Joshua</item>
<item code='5837'>Tyson, III, Charles L</item>
<item code='5448'>Vafier, Eric R</item>
<item code='5596'>Van, Sokthear</item>
<item code='5285'>Vasquez, Luis</item>
<item code='5222'>Velazquez, Devin</item>
<item code='5057'>Velazquez, Edgar A</item>
<item code='5399'>Velez, Xavier</item>
<item code='5326'>Von Guggenberg, Alexander</item>
<item code='5556'>Wade, Erich A</item>
<item code='5409'>Walker, Keith R</item>
<item code='5199'>Ware, Michael</item>
<item code='5410'>Washington, Anthony B</item>
<item code='5797'>Washington, Shavarez</item>
<item code='5204'>Watson, Steven</item>
<item code='5793'>Webb, Joseph D</item>
<item code='5429'>Wehmeyer, Jason J</item>
<item code='5223'>Weinstein, Howard</item>
<item code='5997'>Welch, Michael</item>
<item code='5340'>Whatley, Raymond C</item>
<item code='5414'>Wheatley, Thomas F</item>
<item code='5209'>Whisonant, Ashley</item>
<item code='5597'>White, Darrell</item>
<item code='5685'>White, Donald</item>
<item code='5600'>White, Douglas</item>
<item code='5569'>White, Joseph R</item>
<item code='5297'>Whitmore, Eric W</item>
<item code='5776'>Whitmore, Zachary</item>
<item code='5795'>Williams, Craig</item>
<item code='5794'>Williams, Keith</item>
<item code='5766'>Williams, Kyle</item>
<item code='5431'>Wills, William G</item>
<item code='5139'>Wilson, Kaandra</item>
<item code='5839'>Wilson, Wells</item>
<item code='5296'>Wiltsie, Douglas</item>
<item code='5140'>Wood, Jarrett</item>
<item code='5599'>Woodson, Randolph</item>
<item code='5341'>Woolsey, Jeffery L</item>
<item code='5796'>Xu, Kevin</item>
<item code='5374'>Yashin, Christopher</item>
<item code='5665'>Young, Michael L</item>
<item code='5227'>Zapata, Esthefanie</item>
<item code='5469'>Zarkauskas, Joseph J</item>
<item code='5657'>Zeigler, Carl</item>
<item code='5291'>Zuidema, Michael J</item>
<item code='5659'>Zukosky, Eugene</item>
public static string ReadAllText(string path)
return File.ReadAllText(path);