Quantcast
Channel: Building a Google Product Feed in .Net (C#)? - Stack Overflow
Viewing all articles
Browse latest Browse all 3

Building a Google Product Feed in .Net (C#)?

$
0
0

Below is the schema I am trying to conform to:

<?xml version="1.0"?><rss version="2.0" xmlns:g="http://base.google.com/ns/1.0"><channel><title>The name of your data feed</title><link>http://www.example.com</link><description>A description of your content</description><item><title>Red wool sweater</title><link> http://www.example.com/item1-info-page.html</link><description>Comfortable and soft ...    cold winter nights.</description><g:image_link>http://www.example.com/image1.jpg</g:image_link><g:price>25</g:price><g:condition>new</g:condition><g:id>1a</g:id></item></channel></rss>

Below is what I have been able to produce:

<?xml version="1.0"?><rss version="2.0" xmlns:g="http://base.google.com/ns/1.0"><channel><title>The name of your data feed</title><link>http://www.google.com</link><description>A description of your content</description><item><title>Red Wool Sweater</title><link>http://www.google.com/Red-Wool-Sweater</link><description>Comfortable and soft, this sweater will keep you warm on those cold winter nights.</description><g:image_link>http://www.example.com/image1.jpg</g:image_link><g:price>25</g:price><g:condition>new</g:condition><g:id>1a</g:id></item></channel></rss version="2.0">

Below is the code that I wrote to achieve this (the above):

    // create and instantiate the writer object.    XmlTextWriter xw = new XmlTextWriter("Products.xml", null);    // use indenting.    xw.Formatting = Formatting.Indented;    // write the start of the document.    xw.WriteStartDocument();    xw.WriteStartElement("rss version=\"2.0\"");    xw.WriteAttributeString("xmlns", "g", null, "http://base.google.com/ns/1.0");    xw.WriteStartElement("channel");    xw.WriteElementString("title", "The name of your data feed");    xw.WriteElementString("link", "http://www.google.com");    xw.WriteElementString("description", "A description of your content");    xw.WriteStartElement("item");    xw.WriteElementString("title", "Red Wool Sweater");    xw.WriteElementString("link", "http://www.google.com/Red-Wool-Sweater");    xw.WriteElementString("description", "Comfortable and soft, this sweater will keep you warm on those cold winter nights.");    xw.WriteElementString("g:image_link", "http://www.example.com/image1.jpg");    xw.WriteElementString("g:price", "25");    xw.WriteElementString("g:condition", "new");    xw.WriteElementString("g:id", "1a");    // write the end element.    xw.WriteEndElement();    xw.WriteEndElement();    xw.WriteEndElement();    // write the end of the document.    xw.WriteEndDocument();    // close the writer.    xw.Close();    // press enter to exit.    Console.ReadKey();

Those with eager eyes, will have spotted the problem I am having conforming to the google product feed schema ... "the closing rss tag element" ... is wrong. I have managed to replicate alot of it so far but that closing tag eludes. Can you guys help?

Also, feel to free to change my code if I have done anything wrong or gone about doing it the wrong way? Cheers.


Viewing all articles
Browse latest Browse all 3

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>