Wednesday, December 9, 2009

reading Xml from spec

ByteArrayInputStream bais1 = new ByteArrayInputStream(sReportSpec.getBytes("UTF-8"));
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(bais1);
NodeList lstQueryItems = doc.getElementsByTagName("queryItem");
//strQueryData = strQueryData + bcReports[l].getDefaultName().getValue() + "," + lstQueryItems.getLength() + ",--------------\n";
System.out.println("Number of Query Items are: " + lstQueryItems.getLength());
String strDataItem = null;
String strColumnName = null;
for (int j = 0; j < lstQueryItems.getLength(); j++)
{
Node ndDataItem = lstQueryItems.item(j);
if (ndDataItem != null)
{
Element eleExpression = (Element)ndDataItem;
//NodeList lstExpression = eleExpression.getElementsByTagName("name");
NodeList lstExpression = eleExpression.getElementsByTagName("name");
if (lstExpression != null)
{
Element eleExpress = (Element)lstExpression.item(0);
NodeList lstExpressionNd = eleExpress.getChildNodes();
//System.out.println("Number lstExpressionNd: " + lstExpressionNd.getLength());
for (int k = 0; k < lstExpressionNd.getLength(); k++)
{
strDataItem = (lstExpressionNd.item(k)).getNodeValue();
//System.out.println("strDataItem : " + strDataItem);
//System.out.println("strDataItem" + strDataItem);
}
}
else
{
System.out.println("no");
}
//System.exit(0);
}
try
{
Node ndDataItem1 = lstQueryItems.item(j);
if (ndDataItem != null)
{
Element eleExpression1 = (Element)ndDataItem1;
//NodeList lstExpression = eleExpression.getElementsByTagName("name");
NodeList lstExpression1 = eleExpression1.getElementsByTagName("expression");
for (int s = 0; s < lstExpression1.getLength(); s++)
{
Node fstNode = lstExpression1.item(s);
if (fstNode.getNodeType() == Node.ELEMENT_NODE)
{
Element fstElmnt = (Element)fstNode;
NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("refobj");
Element fstNmElmnt = (Element)fstNmElmntLst.item(0);
NodeList fstNm = fstNmElmnt.getChildNodes();
//System.out.println("First Name : " + ((Node)fstNm.item(0)).getNodeValue());
strColumnName = ((Node)fstNm.item(0)).getNodeValue();
if (strColumnName != null)
{
String arrColumnName[] = null;
arrColumnName = strColumnName.split("]");
int intTemp = arrColumnName.length;
int temp1 = 0;
//System.out.println("intTemp : " + intTemp);
if (intTemp > 0)
{
strColumnName = arrColumnName[intTemp - 1];
temp1 = strColumnName.length();
// System.out.println("temp1 + " + temp1);
if (temp1 >= 2)
{
strColumnName = strColumnName.substring(2, temp1);
}
else
{
strColumnName = strColumnName;
}
//strColumnName = strColumnName;
}
else
{
strColumnName = strColumnName;
}
}
}
}
//System.exit(0);
}
}
catch (Exception E)
{
System.out.println("Exception");
}
strQueryData = strQueryData + strReportModel + "," + strDataItem + "," + strColumnName + "\n";
} // end of if
}

No comments:

Post a Comment