0

webserviceパラメータが文字列であることを選択する機能を持つasp.netにaを書き、次のdatasetように返します:

[WebMethod]
public DataSet Select(string query)
{
    DataTable dt = new DataTable();

    dt.Columns.Add("fname");
    dt.Columns.Add("lname");
    dt.Rows.Add("mehdi", "nine");
    dt.Rows.Add("ali", "javan");
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);
    return ds;
}

xml入力を見ると、次のようになります。

<s:element name="Select">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="query" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SelectResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SelectResult">
<s:complexType>
<s:sequence>
<s:element ref="s:schema"/>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>

xml ファイルでは、出力がSelectResult. でデータソースに変換するにはどうすればよいdelphi7ですか? 何か案が?

4

1 に答える 1

0

DaTaSet は、.net を使用していないクライアントの Web サービスの戻り値として適切ではありません。ここで XML を返すことができます。

[WebMethod]
public string Select(string query)
{
    // your code
    return ds.GetXml();
}

これにより、以下のような XML が得られます

<NewDataSet>
  <Table1>
    <fname>mehdi</fname>
    <lname>nine</lname>
  </Table1>
  <Table1>
    <fname>ali</fname>
    <lname>javan</lname>
  </Table1>
</NewDataSet>

これを処理して DataSource として使用できることを願っています。

インデントされた XML が必要な場合は、この回答をチェックしてください。

于 2013-05-16T07:02:39.180 に答える