当前位置: 首页>>代码示例>>C#>>正文


C# XmlTextReader.ReadElementContentAs方法代码示例

本文整理汇总了C#中System.Xml.XmlTextReader.ReadElementContentAs方法的典型用法代码示例。如果您正苦于以下问题:C# XmlTextReader.ReadElementContentAs方法的具体用法?C# XmlTextReader.ReadElementContentAs怎么用?C# XmlTextReader.ReadElementContentAs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Xml.XmlTextReader的用法示例。


在下文中一共展示了XmlTextReader.ReadElementContentAs方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Form3_Load

 private void Form3_Load(object sender, EventArgs e)
 {
     XmlTextReader reader = new XmlTextReader(flrt.DName);
     reader.ReadToFollowing("Name");
     textBox4.Text = (string)reader.ReadElementContentAs(typeof(string), null);
     reader.ReadToNextSibling("Mask");
     textBox4.Text += (string)reader.ReadElementContentAs(typeof(string), null);
     textBox2.Text = Func.FName;
     Funcs.ReadXml(flrt.DName);
     dataGridView1.DataSource = Funcs;
     dataGridView1.DataMember = "function";
 }
开发者ID:Rex-Hays,项目名称:GNIDA2,代码行数:12,代码来源:Form3.cs

示例2: Deserialize

        public override void Deserialize(Node node, string data)
        {
            TextReader tr = new StringReader(data);
            Dictionary<string, object> properties = new Dictionary<string, object>();

            using(XmlReader xmlReader = new XmlTextReader(tr))
            {
                xmlReader.ReadStartElement("root");
                do {
                    if (xmlReader.NodeType == XmlNodeType.Element) {
                        string name = xmlReader.Name;
                        if (xmlReader.Read()) {
                            switch (xmlReader.NodeType) {
                            case XmlNodeType.Text:
                                properties.Add(name, xmlReader.ReadContentAs(xmlReader.ValueType, null));
                                break;
                            case XmlNodeType.Element:
                                List<object> objs = new List<object>();
                                while(xmlReader.Read() && xmlReader.NodeType != XmlNodeType.EndElement) {
                                    if (xmlReader.Name == "item")
                                        objs.Add(xmlReader.ReadElementContentAs(xmlReader.ValueType, null));
                                }
                                properties.Add(name, objs.ToArray());
                                break;
                            }

                        }

                    }
                } while(xmlReader.Read());
            }

            UpdateNode (node, properties);
        }
开发者ID:flipback,项目名称:Galilei,代码行数:34,代码来源:XmlSerializer.cs

示例3: ReadElementContentAs

		public void ReadElementContentAs ()
		{
			// as System.Object

			XmlTextReader r = new XmlTextReader (
				"<root/>", XmlNodeType.Document, null);
			r.Read ();
			Assert.AreEqual (String.Empty, r.ReadElementContentAs (typeof (object), null), "#1");
			Assert.AreEqual (XmlNodeType.None, r.NodeType, "#2");

			// regardless of its value, the return value is string.
			r = new XmlTextReader ("<root>1</root>", XmlNodeType.Document, null);
			r.Read ();
			Assert.AreEqual ("1", r.ReadElementContentAs (typeof (object), null), "#3");
			Assert.AreEqual (XmlNodeType.None, r.NodeType, "#4");
		}
开发者ID:Profit0004,项目名称:mono,代码行数:16,代码来源:XmlReaderCommonTests.cs

示例4: LoadIndexXml

 public static Index LoadIndexXml(string name, Type type)
 {
     TextReader m = File.OpenText (name);
     XmlReader R = new XmlTextReader (m);
     // Type type = obj.GetType ();
     Index obj = (Index)Activator.CreateInstance (type);
     R.ReadStartElement ();
     while (!R.EOF) {
         R.Read ();
         if (R.NodeType != XmlNodeType.Element) {
             continue;
         }
         var pname = R.Name;
         // Console.WriteLine (pname);
         object v = null;
         var prop = type.GetProperty (pname);
         var field = type.GetField (pname);
         if (prop != null) {
             // v = R.ReadContentAs (prop.PropertyType, null);
             // v = R.ReadElementContentAsString ();
             v = R.ReadElementContentAs (prop.PropertyType, null);
             prop.SetValue (obj, v, null);
             //Console.WriteLine ("PROPERTY*** pname: {0}, {1}, val: {2}", pname, prop.ReflectedType, v);
         } else if (field != null) {
             // Console.WriteLine ("FIELD****** pname: {0}, field-reflector: {1}, field-type: {2}", pname, field.ReflectedType, field.FieldType);
             v = R.ReadElementContentAs (field.FieldType, null);
             field.SetValue (obj, v);
         } else {
             throw new ArgumentException (String.Format ("Property or field {0} was not found for type", pname));
         }
     }
     // Console.WriteLine (obj.GetType().Name);
     m.Close ();
     return obj;
 }
开发者ID:Pako125,项目名称:natix,代码行数:35,代码来源:Dirty.cs

示例5: GetFloat

 float GetFloat(XmlTextReader textReader)
 {
     return (float) textReader.ReadElementContentAs(typeof(float), null);
 }
开发者ID:CodeStrumpet,项目名称:Elemental,代码行数:4,代码来源:LoadSettings.cs

示例6: FromXml

        public static ExpandoObject FromXml( string xml , string root )
        {
            var bag = new ExpandoObject();

            if ( string.IsNullOrEmpty( xml ) )
            {
                return bag;
            }

            using ( var reader = new XmlTextReader( xml , XmlNodeType.Document , null ) )
            {
                // ルート要素を探す
                while ( reader.Read() )
                {
                    if ( (reader.NodeType == XmlNodeType.Element) && (reader.Name == root) )
                    {
                        // 見つけた
                        break;
                    }
                }
                if ( reader.EOF )
                {
                    // 見つからなかった
                    return bag;
                }

                // 項目読み込み
                var thisdic = bag as IDictionary<string , object>;
                while ( reader.Read() )
                {
                    // 項目エレメントに移動
                    if ( reader.NodeType != XmlNodeType.Element )
                    {
                        continue;
                    }
                    string name = reader.Name;

                    // アトリビュートを取得、こいつには戻す型が書いてあるはず
                    // アトリビュートには「type」しかないことに決め打っている
                    string xmlType = null;
                    if ( reader.MoveToNextAttribute() )
                    {
                        xmlType = reader.Value;
                    }

                    // 具に移動
                    reader.MoveToContent();

                    object value;
                    if ( xmlType == "nil" )
                    {
                        // nullは特別なことをしていたのだった
                        value = default( object );
                    }
                    else if ( string.IsNullOrEmpty( xmlType ) )
                    {
                        // アトリビュートが無いのはstringとしていたのさ
                        value = reader.ReadString();
                    }
                    else
                    {
                        var type = GetTypeFromName( xmlType );
                        if ( type == null )
                        {
                            // アプリ内にその型情報は無い
                            continue;
                        }
                        else if ( type.GetInterface( "System.IConvertible" ) != null )
                        {
                            // 単純変換できるのものは変換読み込み
                            value = reader.ReadElementContentAs( type , null );
                        }
                        else
                        {
                            // 複雑な型はデシリアライザに丸投げするので
                            // まずデシリアライズするエレメントまで移動
                            while ( reader.Read() && reader.NodeType != XmlNodeType.Element )
                            { }

                            // デシリアライズ
                            XmlSerializer ser = new XmlSerializer( type );
                            value = ser.Deserialize( reader );
                        }
                    }

                    // 項目追加
                    thisdic.Add( name , value );
                }
            }

            return bag;
        }
开发者ID:NeilBryant,项目名称:trixiewpf45-code,代码行数:92,代码来源:ExpandoSerializer.cs


注:本文中的System.Xml.XmlTextReader.ReadElementContentAs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。