首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么读取远程XML

2012-02-24 
如何读取远程XML?由于刚刚学习C#,只是懂点概念些的东西。但比较心急想知道如何实现这个功能。情况是这样:xml

如何读取远程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的各种操作技术进行操作了。

热点排行