vahid83
دوشنبه 24 تیر 1392, 18:13 عصر
سلامي گرم به همه دوستان
من ميخوام وب سرويس رو در Application ام فراخواني كنم كه داده اش به صورت يك فايل xml برگردونده ميشه
(Dataset اي از داده ها)
من فايل WSDL رو به برنامه ام اضافه كردم و متدهاش برام نمايش داده شده و مي تونم ازشون استفاده كنم.
خروجي كه به صورت xml ميگيرم به شكل زيره:
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="LOG_CHANGE_ID" type="xs:decimal" minOccurs="0" />
<xs:element name="FI_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="OP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="VAG_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="QU_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SUBMIT_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="IMP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="ADDRESS" type="xs:string" minOccurs="0" />
<xs:element name="LASTNAME" type="xs:string" minOccurs="0" />
<xs:element name="FIRSTNAME" type="xs:string" minOccurs="0" />
<xs:element name="CODE_MELLI" type="xs:string" minOccurs="0" />
<xs:element name="FATHER_NAME" type="xs:string" minOccurs="0" />
<xs:element name="BIRTHDAY" type="xs:string" minOccurs="0" />
<xs:element name="SHENASNAME" type="xs:string" minOccurs="0" />
<xs:element name="SODUR_PLACE" type="xs:string" minOccurs="0" />
<xs:element name="TOTAL_VADIE" type="xs:decimal" minOccurs="0" />
<xs:element name="COST_PRICE" type="xs:string" minOccurs="0" />
<xs:element name="TEL_TAMAS" type="xs:string" minOccurs="0" />
<xs:element name="TAHATOR_DATE" type="xs:string" minOccurs="0" />
<xs:element name="SPECIAL_WIRE_TYPE" type="xs:string" minOccurs="0" />
<xs:element name="POST_CODE" type="xs:string" minOccurs="0" />
<xs:element name="OLD_TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="CREATED_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_DATE" type="xs:string" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="CHANGE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="STATUS" type="xs:decimal" minOccurs="0" />
<xs:element name="CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_WORK_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_ELLAT_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_PRE_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="GENDER" type="xs:decimal" minOccurs="0" />
<xs:element name="MEMBER_TYPE" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table diffgr:id="Table1" msdata:rowOrder="0">
<LOG_CHANGE_ID>548575</LOG_CHANGE_ID>
<FI_CODE>100450893</FI_CODE>
<TEL_NUMBER>888</TEL_NUMBER>
<OP_CODE>1171</OP_CODE>
<VAG_CODE>4</VAG_CODE>
<QU_CODE>261</QU_CODE>
<SUBMIT_TYPE>0</SUBMIT_TYPE>
<IMP_CODE>61</IMP_CODE>
<TEL_TYPE>42</TEL_TYPE>
<ADDRESS>خ اصلي</ADDRESS>
<LASTNAME>افشاري</LASTNAME>
<FIRSTNAME>ج</FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<FATHER_NAME>ك</FATHER_NAME>
<SHENASNAME>57</SHENASNAME>
<SODUR_PLACE>ن</SODUR_PLACE>
<TOTAL_VADIE>750000</TOTAL_VADIE>
<OLD_TEL_NUMBER>2828000421</OLD_TEL_NUMBER>
<TAKHLIYE_COUNTER>0</TAKHLIYE_COUNTER>
<TAKHLIYE_DATE>1392/01/01</TAKHLIYE_DATE>
<CHANGE_DATE>1392/01/01</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>901</CEN_CODE>
<TCI_WORK_CODE>117</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10982</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<TAKHLIYE_COUNTER_LOC>0</TAKHLIYE_COUNTER_LOC>
<TAKHLIYE_COUNTER_NAT>0</TAKHLIYE_COUNTER_NAT>
<GENDER>1</GENDER>
<MEMBER_TYPE>1</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table2" msdata:rowOrder="1">
<LOG_CHANGE_ID>531402</LOG_CHANGE_ID>
<FI_CODE>100266742</FI_CODE>
<TEL_NUMBER>78456</TEL_NUMBER>
<OP_CODE>1061</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>0</SUBMIT_TYPE>
<IMP_CODE>41</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>خ جابربن حيان </ADDRESS>
<LASTNAME>ن</LASTNAME>
<FIRSTNAME>ت</FIRSTNAME>
<CODE_MELLI>5179660165</CODE_MELLI>
<FATHER_NAME>عبدالرضا</FATHER_NAME>
<SHENASNAME>78444</SHENASNAME>
<SODUR_PLACE>لاهيجان</SODUR_PLACE>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<POST_CODE>3431819974</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/03</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>235</CEN_CODE>
<TCI_WORK_CODE>106</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10581</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>1</GENDER>
<MEMBER_TYPE>1</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table3" msdata:rowOrder="2">
<LOG_CHANGE_ID>531573</LOG_CHANGE_ID>
<FI_CODE>100057010</FI_CODE>
<TEL_NUMBER>2812552060</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>خ ملك </ADDRESS>
<FIRSTNAME>حرم</FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3418674646</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table4" msdata:rowOrder="3">
<LOG_CHANGE_ID>531599</LOG_CHANGE_ID>
<FI_CODE>100061338</FI_CODE>
<TEL_NUMBER>8456</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>261</QU_CODE>
<SUBMIT_TYPE>0</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>خ شهيد </ADDRESS>
<FIRSTNAME>دفتر حسينيه </FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>750000</TOTAL_VADIE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3418781365</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table5" msdata:rowOrder="4">
<LOG_CHANGE_ID>531605</LOG_CHANGE_ID>
<FI_CODE>100069757</FI_CODE>
<TEL_NUMBER>7452</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>دوراهي نو</ADDRESS>
<FIRSTNAME>شركت</FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3417693353</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table6" msdata:rowOrder="5">
<LOG_CHANGE_ID>531606</LOG_CHANGE_ID>
<FI_CODE>100069756</FI_CODE>
<TEL_NUMBER>8455</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>دوراهي نو*</ADDRESS>
<FIRSTNAME>شركت </FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3417693353</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table7" msdata:rowOrder="6">
<LOG_CHANGE_ID>531607</LOG_CHANGE_ID>
<FI_CODE>100070088</FI_CODE>
<TEL_NUMBER>4102</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>كيلومتر4</ADDRESS>
<FIRSTNAME>شركت </FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3416774185</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
كدي هم كه من زدم اينه:
MANUALMOSHCHANGESResult manrslt = manualMOSHCHANGES("", "", "", "");
MessageElement[] list = (MessageElement[]) manrslt.getAny();
for(MessageElement m:list){
Document doc = m.getAsDocument();
NodeList nList = doc.getElementsByTagName("Table");
for(int i = 0; i < nList.getLength();i++) {
Node n = nList.item(i);
System.out.println("NodeName "+n.getNodeName());
System.out.println("NodeValue["+i+"]: "+n);
NodeList childs = n.getChildNodes();
for(int p=0; p < childs.getLength();p++){
System.out.println("ChildName: "+ childs.item(p).getNodeName());
System.out.println("ChildValue: "+ childs.item(p).getNodeValue());
}
}
}
ولي به محض اينكه به خط قرمز رنگ ميرسه خطاي زير رو ميده:
java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSIm pl cannot be cast to [Lorg.apache.axis.message.MessageElement;
نمي دونم چطور برطرفش كنم. خواستم از marshall استفاده كنم ولي بازم جواب نداد.
اگه يه فايل xml رو كه خروجي اش مشابه بالا باشه تو يه مسير ثابت بزارم و از كد زير استفاده كنم جواب ميگيرم:
MANUALMOSHCHANGESResult manrslt = manualMOSHCHANGES("", "", "", "");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
Document doc = docBuilder.parse(new File("C:/MAN.xml"));
// normalize text representation
doc.getDocumentElement ().normalize ();
System.out.println ("Root element of the doc is " +
doc.getDocumentElement().getNodeName());
NodeList listOfPersons = doc.getElementsByTagName("Table");
int totalPersons = listOfPersons.getLength();
System.out.println("Total no of people : " + totalPersons);
for(int s=0; s<listOfPersons.getLength() ; s++){
Node firstPersonNode = listOfPersons.item(s);
if(firstPersonNode.getNodeType() == Node.ELEMENT_NODE){
Element firstPersonElement = (Element)firstPersonNode;
NodeList firstNameList = firstPersonElement.getElementsByTagName("FIRSTNAME");
Element firstNameElement = (Element)firstNameList.item(0);
NodeList textFNList = firstNameElement.getChildNodes();
System.out.println("FIRSTNAME : " +
((Node)textFNList.item(0)).getNodeValue().trim());
}
}
فكر كنم يه راه حل اينه كه يه متغير از يه Type اي جور كنم كه در docBuilder.parse بگنجه. ولي هنوز چيزي پيدا نكردم.
لطفاً راهنماييم كنيد. خيلي به كمك نيازمندم.:گریه: :افسرده:
ازتون ممنونم...
من ميخوام وب سرويس رو در Application ام فراخواني كنم كه داده اش به صورت يك فايل xml برگردونده ميشه
(Dataset اي از داده ها)
من فايل WSDL رو به برنامه ام اضافه كردم و متدهاش برام نمايش داده شده و مي تونم ازشون استفاده كنم.
خروجي كه به صورت xml ميگيرم به شكل زيره:
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://tempuri.org/">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="LOG_CHANGE_ID" type="xs:decimal" minOccurs="0" />
<xs:element name="FI_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="OP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="VAG_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="QU_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SUBMIT_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="IMP_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TEL_TYPE" type="xs:decimal" minOccurs="0" />
<xs:element name="ADDRESS" type="xs:string" minOccurs="0" />
<xs:element name="LASTNAME" type="xs:string" minOccurs="0" />
<xs:element name="FIRSTNAME" type="xs:string" minOccurs="0" />
<xs:element name="CODE_MELLI" type="xs:string" minOccurs="0" />
<xs:element name="FATHER_NAME" type="xs:string" minOccurs="0" />
<xs:element name="BIRTHDAY" type="xs:string" minOccurs="0" />
<xs:element name="SHENASNAME" type="xs:string" minOccurs="0" />
<xs:element name="SODUR_PLACE" type="xs:string" minOccurs="0" />
<xs:element name="TOTAL_VADIE" type="xs:decimal" minOccurs="0" />
<xs:element name="COST_PRICE" type="xs:string" minOccurs="0" />
<xs:element name="TEL_TAMAS" type="xs:string" minOccurs="0" />
<xs:element name="TAHATOR_DATE" type="xs:string" minOccurs="0" />
<xs:element name="SPECIAL_WIRE_TYPE" type="xs:string" minOccurs="0" />
<xs:element name="POST_CODE" type="xs:string" minOccurs="0" />
<xs:element name="OLD_TEL_NUMBER" type="xs:string" minOccurs="0" />
<xs:element name="CREATED_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="CREATED_COUNTER_DATE" type="xs:string" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="CHANGE_DATE" type="xs:string" minOccurs="0" />
<xs:element name="STATUS" type="xs:decimal" minOccurs="0" />
<xs:element name="CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_WORK_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TCI_ELLAT_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_CEN_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_SWITCH_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="OLD_PRE_CODE" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_LOC" type="xs:decimal" minOccurs="0" />
<xs:element name="TAKHLIYE_COUNTER_NAT" type="xs:decimal" minOccurs="0" />
<xs:element name="GENDER" type="xs:decimal" minOccurs="0" />
<xs:element name="MEMBER_TYPE" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table diffgr:id="Table1" msdata:rowOrder="0">
<LOG_CHANGE_ID>548575</LOG_CHANGE_ID>
<FI_CODE>100450893</FI_CODE>
<TEL_NUMBER>888</TEL_NUMBER>
<OP_CODE>1171</OP_CODE>
<VAG_CODE>4</VAG_CODE>
<QU_CODE>261</QU_CODE>
<SUBMIT_TYPE>0</SUBMIT_TYPE>
<IMP_CODE>61</IMP_CODE>
<TEL_TYPE>42</TEL_TYPE>
<ADDRESS>خ اصلي</ADDRESS>
<LASTNAME>افشاري</LASTNAME>
<FIRSTNAME>ج</FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<FATHER_NAME>ك</FATHER_NAME>
<SHENASNAME>57</SHENASNAME>
<SODUR_PLACE>ن</SODUR_PLACE>
<TOTAL_VADIE>750000</TOTAL_VADIE>
<OLD_TEL_NUMBER>2828000421</OLD_TEL_NUMBER>
<TAKHLIYE_COUNTER>0</TAKHLIYE_COUNTER>
<TAKHLIYE_DATE>1392/01/01</TAKHLIYE_DATE>
<CHANGE_DATE>1392/01/01</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>901</CEN_CODE>
<TCI_WORK_CODE>117</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10982</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<TAKHLIYE_COUNTER_LOC>0</TAKHLIYE_COUNTER_LOC>
<TAKHLIYE_COUNTER_NAT>0</TAKHLIYE_COUNTER_NAT>
<GENDER>1</GENDER>
<MEMBER_TYPE>1</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table2" msdata:rowOrder="1">
<LOG_CHANGE_ID>531402</LOG_CHANGE_ID>
<FI_CODE>100266742</FI_CODE>
<TEL_NUMBER>78456</TEL_NUMBER>
<OP_CODE>1061</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>0</SUBMIT_TYPE>
<IMP_CODE>41</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>خ جابربن حيان </ADDRESS>
<LASTNAME>ن</LASTNAME>
<FIRSTNAME>ت</FIRSTNAME>
<CODE_MELLI>5179660165</CODE_MELLI>
<FATHER_NAME>عبدالرضا</FATHER_NAME>
<SHENASNAME>78444</SHENASNAME>
<SODUR_PLACE>لاهيجان</SODUR_PLACE>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<POST_CODE>3431819974</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/03</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>235</CEN_CODE>
<TCI_WORK_CODE>106</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10581</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>1</GENDER>
<MEMBER_TYPE>1</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table3" msdata:rowOrder="2">
<LOG_CHANGE_ID>531573</LOG_CHANGE_ID>
<FI_CODE>100057010</FI_CODE>
<TEL_NUMBER>2812552060</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>خ ملك </ADDRESS>
<FIRSTNAME>حرم</FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3418674646</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table4" msdata:rowOrder="3">
<LOG_CHANGE_ID>531599</LOG_CHANGE_ID>
<FI_CODE>100061338</FI_CODE>
<TEL_NUMBER>8456</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>261</QU_CODE>
<SUBMIT_TYPE>0</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>خ شهيد </ADDRESS>
<FIRSTNAME>دفتر حسينيه </FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>750000</TOTAL_VADIE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3418781365</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table5" msdata:rowOrder="4">
<LOG_CHANGE_ID>531605</LOG_CHANGE_ID>
<FI_CODE>100069757</FI_CODE>
<TEL_NUMBER>7452</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>دوراهي نو</ADDRESS>
<FIRSTNAME>شركت</FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3417693353</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table6" msdata:rowOrder="5">
<LOG_CHANGE_ID>531606</LOG_CHANGE_ID>
<FI_CODE>100069756</FI_CODE>
<TEL_NUMBER>8455</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>دوراهي نو*</ADDRESS>
<FIRSTNAME>شركت </FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3417693353</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
<Table diffgr:id="Table7" msdata:rowOrder="6">
<LOG_CHANGE_ID>531607</LOG_CHANGE_ID>
<FI_CODE>100070088</FI_CODE>
<TEL_NUMBER>4102</TEL_NUMBER>
<OP_CODE>5011</OP_CODE>
<VAG_CODE>1</VAG_CODE>
<QU_CODE>241</QU_CODE>
<SUBMIT_TYPE>2</SUBMIT_TYPE>
<IMP_CODE>42</IMP_CODE>
<TEL_TYPE>1</TEL_TYPE>
<ADDRESS>كيلومتر4</ADDRESS>
<FIRSTNAME>شركت </FIRSTNAME>
<CODE_MELLI>1111111111</CODE_MELLI>
<TOTAL_VADIE>0</TOTAL_VADIE>
<COST_PRICE>500000</COST_PRICE>
<TEL_TAMAS>0</TEL_TAMAS>
<POST_CODE>3416774185</POST_CODE>
<OLD_TEL_NUMBER>0</OLD_TEL_NUMBER>
<CHANGE_DATE>1392/01/05</CHANGE_DATE>
<STATUS>0</STATUS>
<CEN_CODE>3</CEN_CODE>
<TCI_WORK_CODE>501</TCI_WORK_CODE>
<TCI_ELLAT_CODE>1</TCI_ELLAT_CODE>
<OLD_CEN_CODE>0</OLD_CEN_CODE>
<SWITCH_CODE>10361</SWITCH_CODE>
<OLD_SWITCH_CODE>0</OLD_SWITCH_CODE>
<OLD_PRE_CODE>0</OLD_PRE_CODE>
<GENDER>2</GENDER>
<MEMBER_TYPE>2</MEMBER_TYPE>
</Table>
كدي هم كه من زدم اينه:
MANUALMOSHCHANGESResult manrslt = manualMOSHCHANGES("", "", "", "");
MessageElement[] list = (MessageElement[]) manrslt.getAny();
for(MessageElement m:list){
Document doc = m.getAsDocument();
NodeList nList = doc.getElementsByTagName("Table");
for(int i = 0; i < nList.getLength();i++) {
Node n = nList.item(i);
System.out.println("NodeName "+n.getNodeName());
System.out.println("NodeValue["+i+"]: "+n);
NodeList childs = n.getChildNodes();
for(int p=0; p < childs.getLength();p++){
System.out.println("ChildName: "+ childs.item(p).getNodeName());
System.out.println("ChildValue: "+ childs.item(p).getNodeValue());
}
}
}
ولي به محض اينكه به خط قرمز رنگ ميرسه خطاي زير رو ميده:
java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.ElementNSIm pl cannot be cast to [Lorg.apache.axis.message.MessageElement;
نمي دونم چطور برطرفش كنم. خواستم از marshall استفاده كنم ولي بازم جواب نداد.
اگه يه فايل xml رو كه خروجي اش مشابه بالا باشه تو يه مسير ثابت بزارم و از كد زير استفاده كنم جواب ميگيرم:
MANUALMOSHCHANGESResult manrslt = manualMOSHCHANGES("", "", "", "");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
Document doc = docBuilder.parse(new File("C:/MAN.xml"));
// normalize text representation
doc.getDocumentElement ().normalize ();
System.out.println ("Root element of the doc is " +
doc.getDocumentElement().getNodeName());
NodeList listOfPersons = doc.getElementsByTagName("Table");
int totalPersons = listOfPersons.getLength();
System.out.println("Total no of people : " + totalPersons);
for(int s=0; s<listOfPersons.getLength() ; s++){
Node firstPersonNode = listOfPersons.item(s);
if(firstPersonNode.getNodeType() == Node.ELEMENT_NODE){
Element firstPersonElement = (Element)firstPersonNode;
NodeList firstNameList = firstPersonElement.getElementsByTagName("FIRSTNAME");
Element firstNameElement = (Element)firstNameList.item(0);
NodeList textFNList = firstNameElement.getChildNodes();
System.out.println("FIRSTNAME : " +
((Node)textFNList.item(0)).getNodeValue().trim());
}
}
فكر كنم يه راه حل اينه كه يه متغير از يه Type اي جور كنم كه در docBuilder.parse بگنجه. ولي هنوز چيزي پيدا نكردم.
لطفاً راهنماييم كنيد. خيلي به كمك نيازمندم.:گریه: :افسرده:
ازتون ممنونم...