Sono molto nuovo alla programmazione e il mio primo compito è creare un servizio WCF che utilizzi un feed ATOM e lo esponga alla mia applicazione. Ora, ho letto su serializzazione XML e syndication ma non sembra essere quello di cui ho bisogno nella mia (mancanza di) esperienza.
Ecco uno snippet del feed. È generato da un seedlist spi
<atom:generator version="1.2" lconn:version="4.5.0.0">
Seedlist Service Backend System</atom:generator>
<wplc:timestamp isPartial="false">AAABQtdnfpE=</wplc:timestamp>
<atom:category term="ContentSourceType/Wikis" scheme="com.ibm.wplc.taxonomy://feature_taxonomy"
label="Wikis"/>
<atom:title>Wikis : 0 entries of Seedlist WIKIS</atom:title>
<atom:updated>2013-12-09T13:49:13+01:00</atom:updated>
Devo creare oggetti per tutti questi elementi?
E che dire di questi elementi wplc?
<wplc:action do="update"/>
<wplc:fieldInfo id="FIELD_ENTRY_TYPE" name="item type"
description="item type - page, file or wiki" type="string"
contentSearchable="false" fieldSearchable="true"
parametric="false" returnable="true" sortable="false"
supportsExactMatch="false"/>
<wplc:fieldInfo id="FIELD_TAG" name="Tag"
description="Document tag" type="string"
contentSearchable="true" fieldSearchable="true"
parametric="false" returnable="true" sortable="false"
supportsExactMatch="true"/>
Tutti gli esempi, le esercitazioni e le spiegazioni che trovo sono semplici file xml Quindi posso usare XML Reader per ottenere questo? E se è così, ho bisogno di aiuto.
Ecco un esempio di WCF che ho trovato:
public class Service1 : IService1
{
public string GetData(string value)
{
WebRequest request = WebRequest.Create("http://wheremyxmlis/file.xml");
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
XmlReader reader = XmlReader.Create("http://wheremyxmlis/file.xml");
reader = new XmlTextReader("http://wheremyxmlis.xml");
try
{
reader = new XmlTextReader("http://wheremyxmlis/file.xml");
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name);
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.CDATA:
Console.Write("<![CDATA[{0}]]>", reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
Console.Write("<?{0} {1}?>", reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
Console.Write("<!--{0}-->", reader.Value);
break;
case XmlNodeType.XmlDeclaration:
Console.Write("<?xml version='1.0'?>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
break;
case XmlNodeType.EntityReference:
Console.Write(reader.Name);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
}
}
finally
{
if (reader != null)
reader.Close();
response.Close();