0
をXElementオブジェクトを起源:解析WSDLは、私はこのようなDTOクラスを持つC#DTOクラスに
class ProjekatDTO
{
private int idProjekta;
private string nazivProjekta;
private DateTime datumPocetkaRada;
private DateTime datumKrajaRada;
private decimal budzet;
private string opisProjekta;
private int aktivan;
private DateTime krajnjiRok;
private int uradjeno;
private string sef_projekta;
private string nadzor;...
Classオブジェクトは、データ形式のWeb SOAPサーバが取り込まれることを意図しています。
SoapClient client = new SoapClient("http://somelink.someserver.net/~johndoe/gogogo/servis");
XElement myEle = client.Invoke("getProjekti");
私はXElementオブジェクトを印刷すると、結果は次のとおりです:
<SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<ns1:getProjektiResponse xmlns:ns1="http://somelink.someserver.net/~johndoe/gogogo/servis?ws=1">
<return SOAP-ENC:arrayType="ns2:Map[3]" xsi:type="SOAP-ENC:Array" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<item xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">id</key>
<value xsi:type="xsd:string">53</value>
</item>
<item>
<key xsi:type="xsd:string">naziv</key>
<value xsi:type="xsd:string">projekat</value>
</item>
<item>
<key xsi:type="xsd:string">datum_pocetka_rada</key>
<value xsi:type="xsd:string">2016-07-07</value>
</item>
<item>
<key xsi:type="xsd:string">datum_kraja_rada</key>
<value xsi:type="xsd:string">2016-07-20</value>
</item>
<item>
<key xsi:type="xsd:string">budzet</key>
<value xsi:type="xsd:string">131313.00</value>
</item>
<item>
<key xsi:type="xsd:string">opis_projekta</key>
<value xsi:type="xsd:string">Opis projekta...</value>
</item>
<item>
<key xsi:type="xsd:string">aktivan</key>
<value xsi:type="xsd:string">1</value>
</item>
<item>
<key xsi:type="xsd:string">krajnji_rok</key>
<value xsi:type="xsd:string">2016-07-11</value>
</item>
<item>
<key xsi:type="xsd:string">uradjeno</key>
<value xsi:type="xsd:string">23</value>
</item>
<item>
<key xsi:type="xsd:string">postoji</key>
<value xsi:type="xsd:string">1</value>
</item>
<item>
<key xsi:type="xsd:string">sef_projekta</key>
<value xsi:type="xsd:string">12</value>
</item>
<item>
<key xsi:type="xsd:string">nadzor</key>
<value xsi:type="xsd:string">12</value>
</item>
</item>
<item xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">id</key>
<value xsi:type="xsd:string">54</value>
</item>
<item>
<key xsi:type="xsd:string">naziv</key>
<value xsi:type="xsd:string">drugi projekat</value>
</item>
<item>
<key xsi:type="xsd:string">datum_pocetka_rada</key>
<value xsi:type="xsd:string">2016-07-06</value>
</item>
<item>
<key xsi:type="xsd:string">datum_kraja_rada</key>
<value xsi:type="xsd:string">2016-07-29</value>
</item>
<item>
<key xsi:type="xsd:string">budzet</key>
<value xsi:type="xsd:string">13331.00</value>
</item>
<item>
<key xsi:type="xsd:string">opis_projekta</key>
<value xsi:type="xsd:string">opis drugog projekta</value>
</item>
<item>
<key xsi:type="xsd:string">aktivan</key>
<value xsi:type="xsd:string">1</value>
</item>
<item>
<key xsi:type="xsd:string">krajnji_rok</key>
<value xsi:type="xsd:string">2016-07-28</value>
</item>
<item>
<key xsi:type="xsd:string">uradjeno</key>
<value xsi:type="xsd:string">12</value>
</item>
<item>
<key xsi:type="xsd:string">postoji</key>
<value xsi:type="xsd:string">1</value>
</item>
<item>
<key xsi:type="xsd:string">sef_projekta</key>
<value xsi:type="xsd:string">12</value>
</item>
<item>
<key xsi:type="xsd:string">nadzor</key>
<value xsi:type="xsd:string">12</value>
</item>
</item>
\t </return>
</ns1:getProjektiResponse>
</SOAP-ENV:Body>
だから、それはマップのようなものです私はXElementオブジェクトの形式でデータを取得します。マップ "キー"は、ProjekatDTOクラスのProjekatDTOフィールド名に対応します。私が必要とするのは、適切な "値"を取得してProjekatDTOフィールドを設定することです。私はXMLを初めて使用していて、サンプルを検索しようとしましたが、見つけられなかったか、それを認識できませんでした。
を、次の試してみてくださいありがとうございました!それは私をたくさん助けました。あなたのコードでは、1つの「Projekat」アイテムの値を取得できました。何とか反復してすべてのアイテムを取得できました。あなたは私の一日を完全に救った;) – Gishas