导航

使用XmlReader类提高XML Msg处理的性能

Posted on 2008-07-04 15:55  鸡尾虾的壳  阅读(224)  评论(0)    收藏  举报

需求:抽取XML消息中的某些节点值并Promote

XMLDocument类内存消耗比较大,特别对于一些大消息。XmlReader类支持只读,向前顺序读取的方式,内存消耗较小。

实例代码:
           XmlReader bodyXMLDoc = XmlTextReader.Create(oldStream);
           while (bodyXMLDoc.Read())
            {
                switch (bodyXMLDoc.NodeType)
                {
                    case XmlNodeType.Element:
                        {
                            if (bodyXMLDoc.Name == this.SenderID_TagName)
                            {
                              string fileHeaderSendIDValue = bodyXMLDoc.ReadInnerXml();
                              inmsg.Context.Promote("FileHeader_SenderID", this.propertySchemaNS, fileHeaderSendIDValue);
                            }
                        }
                 }
            }