никогда раньше не работал с веб-сервисами, так что будьте осторожны, считайте меня идиотом.Я успешно возвращаю приведенную ниже структуру xml из веб-службы, используя ссылку на службу в c # asp.net
<Rows>
<Type>
<ID>5555557</ID>
<Type_Name>Product 1 Name </Type_Name>
<AvailableDate>18/03/2019</AvailableDate>
<AvailableDate>01/04/2019</AvailableDate>
<AvailableDate>15/04/2019</AvailableDate>
<AvailableDate>29/04/2019</AvailableDate>
<AvailableDate>13/05/2019</AvailableDate>
<AvailableDate>28/05/2019</AvailableDate>
<AvailableDate>10/06/2019</AvailableDate>
<AvailableDate>24/06/2019</AvailableDate>
<service>FALSE</service>
</Type>
<Type>
<ID>5555559</ID>
<Type_Name>Product 2 Name </Type_Name>
<AvailableDate>11/03/2019</AvailableDate>
<AvailableDate>25/03/2019</AvailableDate>
<AvailableDate>08/04/2019</AvailableDate>
<AvailableDate>23/04/2019</AvailableDate>
<AvailableDate>07/05/2019</AvailableDate>
<AvailableDate>20/05/2019</AvailableDate>
<AvailableDate>03/06/2019</AvailableDate>
<AvailableDate>17/06/2019</AvailableDate>
<AvailableDate>01/07/2019</AvailableDate>
<AvailableDate>15/07/2019</AvailableDate>
<AvailableDate>29/07/2019</AvailableDate>
<AvailableDate>12/08/2019</AvailableDate>
<AvailableDate>27/08/2019</AvailableDate>
<AvailableDate>09/09/2019</AvailableDate>
<AvailableDate>23/09/2019</AvailableDate>
<service>FALSE</service>
</Type>
</Rows>
Я использую список и построитель строк, чтобы выписать xml, и все работает нормально для ID и Type_name и успешно отображает их.Но возникли проблемы с упаковкой доступных дат в виде массива для отображения как часть вышеупомянутого.Я ожидал бы, что другой узел Xml будет ссылаться на доступные даты, но все они находятся на одном уровне.Есть идеи?
enter
SR1.WebService2SoapClient client = new SR1.WebService2SoapClient("WebService2Soap");
XmlNode node = client.getMethodpaiingcredentials(cred1, "cred2");
XmlReader r = XmlReader.Create(new StringReader(node.OuterXml));
//adding to a static list
MyList = (
from e in XDocument.Load(r).Root.Elements("Type")
select new Property //(public class)
{
ID = (int)e.Element("ID"),
Type = (string)e.Element("Type_Name"),
//Trying to wrap all dates in loop
CDate = (
from o in e.Elements("Type").Elements("AvailableDate")
select new AvailableDates
{
ADate = (DateTime)o.Element("AvailableDate"),
})
.ToArray()
})
.ToList();
StringBuilder sb = new StringBuilder();
foreach (var xmlID in MyList)
{
sb.Append("<table border='1px' cellpadding='1' cellspacing='1' class='customers'>\n");
sb.Append("<TD>"); sb.Append(xmlID.ID); sb.Append("</TD>");
sb.Append("<TD>"); sb.Append(xmlID.Type_Name); sb.Append("</TD>");
foreach (var OD in myList[0].CDate)
{
sb.Append("<TD>"); sb.Append(OD.ColDate); sb.Append(" - </TD>");
}
sb.Append("</TR>\n");
}
sb.Append("</TABLE>");
litCollections.Text = sb.ToString();
здесь