专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

怎么读取远程XML

发布时间:2011-06-28 14:06:57 文章来源:www.iduyao.cn 采编人员:星星草
如何读取远程XML?
由于刚刚学习C#,只是懂点概念些的东西。但比较心急想知道如何实现这个功能。

情况是这样:xml文件是十只股票的变化数据,由于股价数据是实时变化的,那么就需要不断地读取,与最后一次的数据比较,如果有不同就入库。数据量并不大:股票代码 + 实时股价 + 变化时间

整个流程就这样:读取解析xml -> [与最后一次读取的数据进行比较,如果无变动就继续读取监视] ->写入数据库!

由于数据需要即时的,所以希望程序运行高效、快速。

例如:http://www.abc.com/data/update.xml

格式:
  <?xml version="1.0" encoding="UTF-8" ?> 
<Stock nuber="10" DateTime="2009-5-29">
<data>
<U Uid="600191" Changes="12.50" DateTime="2009-5-29 10:43" /> 
<U Uid="600543" Changes="12.50" DateTime="2009-5-29 10:43" /> 
<U Uid="600562" Changes="12.50" DateTime="2009-5-29 10:43" /> 
<U Uid="600265" Changes="12.50" DateTime="2009-5-29 10:43" /> 
...
..
.
</data>
</Stock>


------解决方案--------------------
C# code

/// <summary>
    /// XmlFiles 的摘要说明。
    /// </summary>
    public class XmlFiles:XmlDocument
    {
        #region 字段与属性
        private string _xmlFileName;
        public string XmlFileName
        {
            set{_xmlFileName = value;}
            get{return _xmlFileName;}
        }
        #endregion

        public XmlFiles(string xmlFile)
        {
            XmlFileName = xmlFile;
            
            this.Load(xmlFile);
        }
        /// <summary>
        /// 给定一个节点的xPath表达式并返回一个节点
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public XmlNode FindNode(string xPath)
        {
            XmlNode xmlNode = this.SelectSingleNode(xPath);
            return xmlNode;
        }
        /// <summary>
        /// 给定一个节点的xPath表达式返回其值
        /// </summary>
        /// <param name="xPath"></param>
        /// <returns></returns>
        public string GetNodeValue(string xPath)
        {
            XmlNode xmlNode = this.SelectSingleNode(xPath);
            return xmlNode.InnerText;
        }
        /// <summary>
        /// 给定一个节点的表达式返回此节点下的孩子节点列表
        /// </summary>
        /// <param name="xPath"></param>
        /// <returns></returns>
        public XmlNodeList GetNodeList(string xPath)
        {
            XmlNodeList nodeList = this.SelectSingleNode(xPath).ChildNodes;
            return nodeList;

        }

    }

------解决方案--------------------
用XmlDataDocument中DataSet属性的ReadXmlSchema读取Xml文档,此时,Xml文档便已经以DataSet的形式加载到XmlDtaDocument.DataSet属性中了,然后就可以使用DataSet的各种操作技术进行操作了。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: