سؤال

أنا أكتب تغذية RSS (للمتعة) وكان يبحث في المواصفات هنا.

آر إس إس هي لهجة من XML.كل RSS الملفات يجب أن تتوافق مع XML 1.0 مواصفات, كما نشرت على الشبكة العالمية (W3C) الموقع.

ومن الواضح أن هذا يعني أنني لا تخدم 'نقية' RSS إذا اخترت سلمان الخيار.التي لا تتفق مع بقية المواصفات ، غير أنه من المرجح أن (مخصصة) القراء سوف تكون قادرة على تحليل ذلك ؟

لوضع الأمر بطريقة أخرى, إذا كنت تتوافق مع المواصفات ، ولكن باستخدام جسون بدلا من XML هي قابلة للاستخدام RSS تغذية ؟

تحرير أنا لست متأكدا من أنني قدمت نفسي واضح.لا يوجد XML المعنية.أريد أن أكتب شيئا أقرب إلى آر إس إس (وهو XML) باستخدام جسون بدلا من ذلك.ومن الواضح أن قراء هذه الأعلاف سوف تحتاج إلى أن تكون مكتوبة إلى فهم شكل JSON.أنا أتساءل عما إذا كان هذا قد حدث بالفعل.هناك الخدمات التي تخدم تغذية هذا الطريق ؟ هناك البرامج التي يمكن أن الكلي/فهم هذا الشكل.هو آر إس إس المواصفات (بلا XML) الجزء مفيدة المواصفات لتتوافق مع في هذه الحالة ؟

rg

{
"title":"example.com",
"link":"http://www.example.com/",
"description":"Awesome news about junk",
"items":[
    {
        "title":"An article",
        "link":"http://www.example.com/an-article",
        "descrition":"Some sample text here",
        "pubDate":"2008-10-27 11:06 EST",
        "author":"example author",
    },
    {
        "title":"Second",
        "link":"http://www.example.com/Seond",
        "descrition":"Some sample text here",
        "pubDate":"2008-10-25 23:20 EST",
        "author":"author mcauthor",
    },
    {
        "title":"third article",
        "link":"http://www.example.com/third-article",
        "descrition":"Some sample text here",
        "pubDate":"2008-10-25 23:18 EST",
        "author":"some other author",
    }
]
} 
هل كانت مفيدة؟

المحلول

أعتقد أن هذا تم القيام به بالفعل.

نلقي نظرة على هذا مسج التمديد: jFeed - RSS/ATOM محلل

jQuery.getFeed(options);

الخيارات:

  • url:
  • البيانات:
  • النجاح:

على سبيل المثال:

jQuery.getFeed({
       url: 'rss.xml',
       success: function(feed) {
           alert(feed.title);
       }
   });

علما أنه في هذه الحالة ، "الغذاء" سيكون كائن جافا سكريبت.إذا كنت تريد تمرير هذا باستخدام جسون, يمكنك فقط استخدام جافا سكريبت سلمان فائدة.

على سبيل المثال:

var myJSONText = JSON.stringify(feed);

نصائح أخرى

لا, آر إس إس هو XML القائمة على شكل JSON هي لغة مختلفة بدلا من لهجة.RSS القراء لن يفهموا JSON.

السؤال هو أقرب إلى السؤال 'هل يمكنني التحدث بالفرنسية في الصينية؟'

هو آر إس إس المواصفات (بلا XML) الجزء مفيدة المواصفات لتتوافق مع في هذه الحالة ؟

إذا كنت تريد أن يخترع بعد آخر القرض تنسيق أوصي باستخدام ذرة كقاعدة.IMHO وقد أنظف بكثير وأكثر تصميم ثابت ، وقد الميزات المفيدة مثل موثوقة التحديثات من البنود السابقة ، يجعل التمييز بين ملخصات و المحتوى الكامل ، إلخ.

أنا أتساءل عما إذا كان هذا قد حدث بالفعل.

وقد فليكر سلمان تنسيق الإخراج.لديهم حتى lolcode تغذية.

Json.NET - http://james.newtonking.com/projects/json-net.aspx - دعم تحويل أي مستند XML إلى JSON.

XmlDocument doc = new XmlDocument();

doc.LoadXml(@"<?xml version=""1.0"" standalone=""no""?>
<root>
  <person id=""1"">
    <name>Alan</name>
    <url>http://www.google.com</url>
  </person>
  <person id=""2"">
    <name>Louis</name>
    <url>http://www.yahoo.com</url>
  </person>
</root>");


string jsonText = JavaScriptConvert.SerializeXmlNode(doc);
//{
//  "?xml": {
//    "@version": "1.0",
//    "@standalone": "no"
//  },
//  "root": {
//    "person": [
//      {
//        "@id": "1",
//        "name": "Alan",
//        "url": "http://www.google.com"
//      },
//      {
//        "@id": "2",
//        "name": "Louis",
//        "url": "http://www.yahoo.com"
//      }
//    ]
//  }
//}

XmlDocument newDoc = (XmlDocument)JavaScriptConvert.DeerializeXmlNode(jsonText);

Assert.AreEqual(doc.InnerXml, newDoc.InnerXml);

أنت على حق أن العميل القراءة الخلاصة يجب أن يكون دعم مخصص لأي تفاصيل سلمان كانت.إذا كنت تحتاج إلى جعل العرف تغذية القارئ أن تستهلك تلك المعلومات ، أو شخص ما من شأنه أن اقتراح سلمان تغذية القياسية ، يجب أن يكون على نطاق واسع.

أعتقد الرغبات الخاصة بك قد تم أخيرا قابلت صديق!

نلقي نظرة على سلمان تغذية.حتى كتابة هذه السطور انها فقط حوالي أسبوع, لكنه بالفعل التقاط البخار ، بعد أن تم دعم الآن Feedly, Feedbin, أخبار Explorer, NewsBlur, و إضافة المزيد في كل وقت.

إذا كان لي أن اختيار القياسية لاستخدامها عند توليد سلمان نسخة من RSS, أختار سلمان تغذية بالتأكيد.

هناك مجموعة من الطرق المختلفة تسلسل RSS إلى JSON.كل منهم العمل إلى حد كبير بنفس الطريقة:عناصر وسمات تصبح الملكية الأسماء القيم تصبح قيم العقارات ، إلخ.انظر بيوش شاه تقنية ، على سبيل المثال ، وهو .صافي التنفيذ.

تحويل التعسفي XML إلى JSON باستخدام XSLT هو بسيط بما فيه الكفاية التي يمكنك أن تجد نصف دزينة من الأمثلة على جوجل.

طالما يتم ذلك باستمرار, جافا سكريبت التي يمكن معالجة كائن نموذج يهدف إلى تكرار البيانات هيكل RSS مواصفات يجب أن تكون قادرة على التعامل مع نموذج كائن أن سلمان deserializes في.

الذي كنت تخطط لإرسال هذا JSON ؟ هذا هو السؤال الحقيقي.

حسنا, إذا كنت تقوم بتطوير بعض جافا سكريبت التطبيق قد ترغب في الحصول على أي آر إس إس مثل سلمان التغلب عليها عبر المجال الاستعلام عن المسألة.وهناك موثوق قدمت جوجل الحل الذي يحول عن أي آر إس إس إلى JSON.بالنسبة مسج عاشق من هناك العالمي RSS سلمان تحويل البرنامج المساعد.

على سبيل المثال:

$.jGFeed('http://twitter.com/statuses/user_timeline/26767000.rss',
  function(feeds){

    // feeds is a javascript object with RSS content

  }, 10);

أعرف أن هذا هو إلى حد ما السؤال القديم و ربما لا يهم الآن.

ومع ذلك.أود أن أقترح أي شخص يتطلع إلى نشر RSS-مثل إطعام في JSON يجب استخدام صيغة جديدة أن تكتسب بسرعة التبني ؛ JSONFeed (https://jsonfeed.org).

هناك البرامج التي يمكن أن الكلي/فهم هذا الشكل.

يمكنك استخدام XSLT 3.0 تحويل XML إلى JSON إلى XML مرة أخرى.مزيد من المعلومات حول كيفية إنجاز تحول إلى JSON هنا:

https://www.xml.com/articles/2017/02/14/why-you-should-be-using-xslt-30/.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top