The postings on this site are my own and do not represent my Employer's positions, advice or strategies.

LifeAsBob - Blog



No Ads ever, except search!
Saturday, July 20, 2024 Login

Blog posts for the month of December,2012.
Remove comments from an XML file with double dashes --12/18/2012 10:41:45 AM

XML is not my favorite and removing and validating malformed XML is even worse.

I'm trying to load the xml file, but it is failing. These comments make the xml invalid. The xml comes from a vendor.

I tried removing these based on approaches from other posts, but I was not successful. Here is an example of the xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<content type="screwed">
<!--REGULAR/NON-Regular EXAMPLE --><SomeTag somefile="test.txt3" Name="test"/>
<!-- -->

I have tried the following without success:

string xmlDocFile = "c:\server\test.xml";

XmlReaderSettings readerSettings = new XmlReaderSettings();
readerSettings.IgnoreComments = true;
readerSettings.ProhibitDtd = false;
readerSettings.ValidationType = ValidationType.DTD;
XmlReader reader = XmlReader.Create(xmlDocFile, readerSettings);
XmlDocument myXmlDoc = new XmlDocument();
The solution is before using XmlReader, parse xml file and filter comments out using regexp.
// using System.Text.RegularExpressions;
System.IO.StreamReader file= new System.IO.StreamReader(xmlDocFile);
string validXml = Regex.Replace(file.ReadToEnd(),"<!--.*?-->","");

XmlReader reader = XmlReader.Create(validXml);
SSIS still a goto tool12/18/2012 10:23:44 AM

Around the farm I always used to carry knife, a long time ago I switched to a Leatherman multi-tool, it just has more utility.  SSIS provides that same utility.

Recently I ran into a need to download an XML File, that had URL's in it to other files that needed to be downloaded via HTTP and imported into a database.  What a pain in the ass.  XML is not my favorite, and downloading via HTTP isn't either, my preference would have been just to do an FTP get with a wild card, but architects are not DBA's and why would you consult with someone technical for the requirements ?

Anyway, SSIS made this job very simple, use XML and loops to download and import data.  It became very simple and SSIS impressed me.

What made this example even more fun was the XML was malformed, and I had to use regex to remove the malformed lines !   That is a whole other topic on how to remove comments from XML.

The key to doing this is embedding a script task in a loop to do the download,  the rest is basic SSIS import stuff, here is what I used:

string xmlDocFile = "";



// Logging start of download

bool fireAgain = true;

Dts.Events.FireInformation(0, "Download File", "Start downloading ", string.Empty, 0, ref fireAgain);

// Create a webclient to download a file

WebClient mySSISWebClient = new WebClient();

// Download file and use the Flat File Connectionstring (D:\SourceFiles\Products.xml)

// to save the file (and replace the existing file)

// build dynamic download URL for {website removed to protect the innocent}

mySSISWebClient.DownloadFile("" +

Dts.Variables["YearMonthDay"].Value.ToString() + "/xml/siteData.xml",

"C:\\server\\Download\\" +


+ "_siteData.xml");

// set the user variable, used in the data import

Dts.Variables["xmlimportfile"].Value = "C:\\server\\Download\\" +

Dts.Variables["YearMonthDay"].Value.ToString() +


xmlDocFile = "C:\\server\\Download\\" +

Dts.Variables["YearMonthDay"].Value.ToString() +


// Logging end of download

Dts.Events.FireInformation(0, "Download File", "Finished downloading", string.Empty, 0, ref fireAgain);

// Quit Script Task succesful

Dts.Events.FireInformation(0, "Download File", "Starting remove comments.", string.Empty, 0, ref fireAgain);

System.IO.StreamReader file = new System.IO.StreamReader(xmlDocFile);

string validXml = Regex.Replace(file.ReadToEnd(), "<!--.*?-->", "");


Dts.Events.FireInformation(0, "Download File", "writing file", string.Empty, 0, ref fireAgain);

System.IO.StreamWriter writefile = new System.IO.StreamWriter(xmlDocFile,false);

// System.IO.StreamWriter writefile = new System.IO.StreamWriter("c:\\server\\bob.xml");



Dts.Events.FireInformation(0, "Download File", "Comments removed.", string.Empty, 0, ref fireAgain);

Dts.TaskResult = (int)ScriptResults.Success;


catch (Exception ex)


// Logging why download failed

Dts.Events.FireError(0, "Download File", "Download failed: " + ex.Message, string.Empty, 0);

// Quit Script Task unsuccesful

Dts.TaskResult = (int)ScriptResults.Failure;




Taurus Tracker 992 Review 22lr/22mag12/31/2012 4:41:40 PM

I can not resist a blued 4" revolver, and so I when I found a Taurus Tracker 992 22lr, 9 shot, with a 4" barrel that was blued, and it had interchangeable cylnders for 22 lr or 22 magnum, I had to take a chance.  Switching out cylnders is nothing new, but they are usually SAA, this was a double action.  Neat, though in reality I don't shoot 22 magnum very often, it's cost is too much, but options are always nice !  I do not like the "full lug" underneath the barrel, which is why I love the old smith K-22's and the new ruger sp-101 22 lr.

Taurus has mixed reviews, and after purchasing this revolver, i'm still not sure if I'd recommend one.

The good:

  • Great Finish on the revolver
  • Easy to swap out cylinders
  • 4" barrel length
  • Adjustable sites
  • Accuracy is excellent
  • The grip

The bad

  • Nick on the edge of one cylinder
  • Front site post has an orange sticker !
  • The grip (love'em or hate'em)
  • Double action shooting seems to "stick" occasionally.

The 4" barrell with the full lug underneath gives this revolver some "heft", it's what kept me from looking at the 6.5" barrell, as it was just too much weight.  Some people like the weight of the full lug for balance, in a 22, I don't think it adds anything.

The accuracy of this gun was excellent, and it was quite fun to shoot.  I kept having an occasional flyer that I couldn't figure out, so I put up 9 targets and began to carefully shoot each cylinder to a dedicated target.  This is more difficult than it sounds, but if your careful with unlatching, loading and relatching the cylinder you can do it.  Eventually I found that the flyer was always coming from the same cylinder.  Close inspection of the cylinder, revealed a nick, right on the edge of one of the cylnders, right where the bullet exits the cylinder and enters the forcing cone. 

Quality is not job one with Taurus.  It's almost impossibe to figure out how that got out of the factory.  With a 4+ week turn around time and Taurus's known customer service issues, this is one I will have to polish out myself.  The nick is such that the bullet can't properly exit the cylinder, it's a small imperfection but a big one.  A quick polish with a dremel tool has taken care of this and all cylinders shoot accurate now.

Then while un-holstering the weapon for another round of shooting (after fixing the cylinder), I noticed my front site was gone !  At least on first thought anyway.  In reality the "orange sticker" had come off in the holster.  Wow, really ?  I'd never have thought of using an orange sticker on the front site post.  I'll have to use some luminescent or glow in the dark paint to correct this.

An issue that comes up occasionally when shooting double action is a "lock up" or "stickyness".  This is not as alarming as it sounds, as it's not a defensive weapon.  I'd sure hope that this condition does not exist in any other Taurus revolvers that are used for Concealed Carry or something, as I would not want to depend on it with my life.  At first I thought some of the fired shells were "rocking back" a little in the cylinder and prevent it from turning.  This is not the case.  It seems to happen if after pulling the trigger once, you don't completely let go of the trigger and then start to pull it back again, some type of "reset" that is supposed to happen with the internals is not completed because the trigger wasn't completely 'let out'.

I'm not sure how I'm going to address this, as the revolver needs a trigger job to really make it nice.  Not sure if this will require some spings to be replaced and / or some polishing inside, a trip to gun smith for that.

I've got about 333 rounds through it now and now that the bugs have been worked out of it, it's a lot of fun.

Pretty sure the "lock up" issue is just because you have be a Brazilian body builder to fire this thing double action, and if you don't let that trigger reset all the way, the next pull will be a "lock up", this isssure is really caused by user fatigue from pulling that trigger.  A good trigger job will resolve this right up.  But it's still a lot of fun. 

Smith and Wesson makes a 10 shot revolver with a 4" barrell, 617-6 though it's twice the price of Taurus and doesn't shoot 22 magnum.  Of the double action 22 revolvers on the market today, Ruger still has the best piece (because it doesn't have the full lug that both the Taurus and Smith have), if Smith and Wesson would stop with that ugly full lug under the barrel (it's not needed for a 22), it would hands down beat Ruger, as the Ruger sp-101 requires a trigger job to bring it inline with Smith and Wesson.  Though it's still cheaper to get the Ruger and trigger job then the Smith and Wesson.

I think I'm going to have start saving for the Smith and Wesson, so I can accurately compare all 3!

Blog Home