`
izuoyan
  • 浏览: 8948202 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

XML工具类

XML 
阅读更多
using System; using System.Collections; using System.IO; using System.Text; using System.Xml; namespace OA.SystemFramework { /// <summary> /// XML工具. /// </summary> public class XmlToolkit { /// <summary> /// 读取XML节. /// </summary> /// 文件名. /// 文件路径. /// <returns>XML字符串.</returns> public static string ReadFregment( string file, string path ) { string LastElement = Path.GetFileName( path ); ArrayList list = new ArrayList(); XmlTextReader reader = new XmlTextReader( file ); while( reader.Read() ) { bool needRemove = false; if( reader.NodeType == XmlNodeType.Element ) { list.Add( reader.Name ); if( reader.IsEmptyElement ) { needRemove = true; } } else if( reader.NodeType == XmlNodeType.EndElement ) { needRemove = true; } #if DEBUG Console.WriteLine( "XmlToolkit:遍历Path:" + Toolkit.Array2String( list, "\\" ) ); #endif if( reader.Name == LastElement ) { string currentPath = Toolkit.Array2String( list, "\\" ); #if DEBUG Console.WriteLine( "XmlToolkit:比较Path:" + currentPath ); #endif if( currentPath == path + "\\" ) { string fregment = reader.ReadOuterXml(); #if DEBUG Console.WriteLine( "节点值:" + fregment ); #endif reader.Close(); return fregment; } } if( needRemove ) { list.RemoveAt( list.Count - 1 ); } } reader.Close(); return ""; } /// <summary> /// 创建 /// </summary> /// XML节. /// <returns>XML读取器.</returns> public static XmlTextReader CreateReader( string fregment ) { XmlParserContext context = new XmlParserContext( null, null, null, XmlSpace.None ); context.Encoding = Encoding.GetEncoding( "gb2312" ); return new XmlTextReader( fregment, XmlNodeType.Element, context ); } /// <summary> /// 读取XML文件. /// </summary> /// XML文件名. /// 文件路径. /// 属性名. public static string Read( string xmlFile, string path, string attr ) { string cdFregment = XmlToolkit.ReadFregment( xmlFile, path ); XmlTextReader reader = XmlToolkit.CreateReader( cdFregment ); string _value = null; while( reader.Read() ) { if( reader.NodeType == XmlNodeType.Element && reader.Name == Path.GetFileName( path ) ) { _value = reader.GetAttribute( attr ); break; } } reader.Close(); return _value; } } //class XmlToolkit }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics