Чтение веб-сервиса ответа XMLC#

Место общения программистов C#
Ответить
Anonymous
 Чтение веб-сервиса ответа XML

Сообщение Anonymous »

Я новичок в программировании веб-сервисов .Net. У меня возникла проблема с чтением ответа XML от веб-служб моему клиенту.

На стороне моего веб-сервиса: код Service1.asmx.cs:

Код: Выделить всё

    [WebMethod(Description = "substruction")]
public double subtract(double i, double j)
{
return i - j;
}

[WebMethod(Description = "getxml")]
public XmlDocument GetXML()
{
StringBuilder sb = new StringBuilder();
XmlWriter writer = XmlWriter.Create(sb);

writer.WriteStartDocument();
writer.WriteStartElement("People");

writer.WriteStartElement("Person");
writer.WriteAttributeString("Name", "Nick");
writer.WriteEndElement();

writer.WriteStartElement("Person");
writer.WriteStartAttribute("Name");
writer.WriteValue("Kevin");
writer.WriteEndAttribute();
writer.WriteEndElement();

writer.WriteEndElement();
writer.WriteEndDocument();

writer.Flush();

XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(sb.ToString());
return xmlDocument;

}
Здесь я создаю два метода для проверки ответа. В GetXML я создаю очень простой XML и возвращаю XML-пакет клиенту.

На моей стороне клиента:

Код: Выделить всё

    // Add button click function
protected void Button1_Click(object sender, EventArgs e)
{
string selectFlag = selectOper.Value;
localhost.Service1 web = new localhost.Service1(); // Have to be the same name as youre Service1.
if (selectFlag.Equals("+"))
{
Result.Text = (web.addition(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
}
else if (selectFlag.Equals("-"))
{
Result.Text = (web.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();
}

}

protected void Button2_Click(object sender, EventArgs e)
{

localhost.Service1 web2 = new localhost.Service1(); // Can u please do not be so silly, use different instance name here.
Button clickedButton = (Button)sender;

XmlDocument xmltest = new XmlDocument();
xmltest = web2.GetXML();
Вы можете видеть, что я пытался заставить web2.GetXML() перенести весь XML в XmlDoucment. Однако он сказал: «Ошибка 1. Невозможно неявно преобразовать тип «объект» в «System.Xml.XmlDocument». Существует явное преобразование (вам не хватает приведения?) C:\Documents and Settings\qili\My Documents\Downloads\WebService3\WebService2\WebService2\Default.aspx.cs 39 24 WebService2

Есть какие-нибудь советы, думаю, я делаю что-то неправильно. Но метод Buttom1_Click работает нормально.

Подробнее здесь: https://stackoverflow.com/questions/101 ... webservice
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»