Here's one idea: assuming the ITX_TRAN_ROWs you create can handle missing entries:
1. inside the start of your 'foreach loop:
XmlNodeList aux1 = ITXTRANChild.ChildNodes[0].SelectNodes("szAuxValue");
XmlNodeList aux2 = ITXTRANChild.ChildNodes[0].SelectNodes("szAuxValue2");
2. inside the body of your 'foreach loop:
if(aux1.ChildNodes.Count != 0
{
ITX_TRAN_ROW["szAuxValue"] = aux1[0].InnerText;
}
if(aux2.ChildNodes.Count != 0
{
ITX_TRAN_ROW["szAuxValue2"] = aux2[0].InnerText;
}
You really don't need to convert the 'InnerText property to a string: it returns a string.
Disclaimer: this code is not fully tested. You should test it. If it doesn't work, let me know, and I'll remove this response.