我先请大家在这里讨论有关rss,web service和xml的关系,以及在开发过程中所遇到的问题。
我的问题:
1、web service中定义的返回xmldocument的函数,在调用时显示返回xmlNode类型。如果强类型转换,在运行时报错:无法从xmlElement强制转换为xmlDocument类型。
web service能返回什么类型?如果需要返回xmlDocument类型有什么好的解决办法?
2、xml文件是否必须带有声明吗?:<?xml version="1.0" encoding="UTF-8"?>
我记着以前说xml声明是必须的,但是xmlDocument读取xml文件在保存后就没有了。在那种使用中会报xml文件错误?
3、如果一个网站提供 rss 功能(提供rss浏览器使用),需要提供什么样的接口?需要使用xml文件吗?
是不是提供xml文件的地址就可以使用rss浏览器了?
有什么方法可以发布rss功能?
请大家帮忙讨论一下。工作顺利、学习进步!!

解决方案 »

  1.   

    大家没有没有遇到过在程序中向xml文件写中文内容时出现乱码的问题?
    一般在什么位置编码,或者设置编码格式比较好?
    有什么好的建议
    谢谢!!!
      

  2.   

    对于上面的问题我来回答:
    1、至于web service的返回类型我就不清楚了,
    我解决返回xmlDocument类型问题,我使用string取代。别的方法,还请大侠不吝赐教。
    2、xml声明部分。我不清楚,
    我使用xmldocument.innerxml转为string,在判断是否以  <?xml  开头。没有的话我就添加。
    发现:使用xmlDocument.load("XXXX.xml");时不读取 xml声明部分。
    3、提供rss功能,直接提供xml地址就可以。以上只是个人见解,希望还有不同意见的高人指点、指正。谢谢。添加xml声明:
                  //添加xml文件声明
                  XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "utf-8", null);
                //把xml声明加进xmldocument
                document.InsertBefore(declaration, document.DocumentElement);rss 2.0标准:
      http://tech.163.com/05/0908/13/1T4ON6CQ00091589.html
           
      

  3.   

    1、web service中定义的返回xmldocument的函数,在调用时显示返回xmlNode类型。如果强类型转换,在运行时报错:无法从xmlElement强制转换为xmlDocument类型。
    web service能返回什么类型?如果需要返回xmlDocument类型有什么好的解决办法?
    --------------------------
    能返回可序列化的对象,比如DataSet。DataTable就不行,你这样其实完全返回1个XML格式的字符串,然后
    在客户端用xmlDocument对象加载返回的字符串就行2、xml文件是否必须带有声明吗?: <?xml version="1.0" encoding="UTF-8"?>
    我记着以前说xml声明是必须的,但是xmlDocument读取xml文件在保存后就没有了。在那种使用中会报xml文件错误?
    -----------------------------
    在保存的时候加上下面的代码:
    xmlDocument doc = ....
    XmlDeclaration xmldecl = doc.CreateXmlDeclaration("1.0","UTF-8",null);
    XmlElement root = doc.DocumentElement;
    doc.InsertBefore(xmldecl, root);
    doc.Save(...);3、如果一个网站提供 rss 功能(提供rss浏览器使用),需要提供什么样的接口?需要使用xml文件吗?
    是不是提供xml文件的地址就可以使用rss浏览器了? 
    ------------------------------
    在网上搜索下RSS标准,RSS有固定的XML格式,只要你的XML文件符合这个格式,并可以通过http返回就可以。
    不一定要生成1个XML文件,可以直接是1个ASPX页面,当请求这个ASPX页面的时候,返回的是RSS格式的文档,哪这个ASPX页面也可以订阅(一般会采用这种处理方式,在请求ASPX页面时读取数据库生成最新的RSS)
    例子:http://www.cnblogs.com/rss
      

  4.   

    WebService 数据传输时可采用数据格式有int,string,byte等基本类型 如果要传递参数为大类型(如DataSet/GridView)或自自定类型 可以将其转换为byte[]的数据流格式 返回结果也可以是byte[] 取得数据流后再强制转换为对应的数据类型 这是简单可行的一种方式 但个人认为效率比较慢关注RSS实现
      

  5.   

    用asp.net为网站实现RSS功能
      

  6.   

    如果我要使用web service对外提供rss的服务,要怎么做?
    大家有没有什么好的方案?web service返回什么类型?该怎么处理?
    请知道的大侠赐教!谢谢!!
      

  7.   

    1.以前为了方便,写xml文件是用StringBuffer一点一点拼起来的,结果发现拼完的xml文件中如果有特速字符出现,就会出现乱码。
    后来改成自动生成xml文件,这样xml文件特殊字符乱码问题解决了。
    2.如果xml文件中有url地址,那么在url地址中会经常出现乱码。
    3.utf8 编码格式比较好
      

  8.   

    请高手指点一下:
    我要使用web service 对外提供rss服务,我需要怎么做?有什么好的设计方案?
    web service需要返回什么类型数据?怎么处理?
    请高人指点、赐教。谢谢!
      

  9.   

    rss结贴。rss成功完成。
    但是还是有很多的缺陷。
    谢谢大家的指点。