问题阅读Xml文件 [英] Problem Reading Xml file
问题描述
我正在以下列方式编写XML文件。现在我需要再次阅读
该文件以检索姓名和年龄等数据。
有人可以帮我解决。
提前致谢
/ ********************************* /
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@" c:\ hede.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(true); // true = standalone
writer.WriteStartElement(" Humans");
writer.WriteStartElement(" Person");
writer.WriteElementString(" Name"," abc");
writer.WriteElementString(" Age"," 17");
writer .WriteEndElement();
writer.WriteStartElement(" Person");
writer.WriteElementString(" Name"," xyz");
writer.WriteElementString(" Age"," 71");
writer.WriteEndElement();
writer .WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
这是一个简单的例子:
您可以创建一个新的XMLTextReader实例,传递您创建的文件,然后使用ReadElementString读取姓名和年龄的方法如下:
XmlTextReader reader = new Xml TextReader(@" c:\ hede.xml");
while(reader.Read())
{
if(reader.Name.Equals(" Name"))
{
Console.WriteLine(" Name:" + reader.ReadElementString(" Name"));
Console.WriteLine(" Age:" + reader.ReadElementString(" Age"));
}
}
- Mohan
我在写一个XML文件以下方式。现在我需要再次阅读该文件以检索姓名和年龄等数据。
有人可以帮助我。
先谢谢
/ ********************************* /
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@" c:\\\ myde.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(真); // true = standalone
writer.WriteStartElement(" Humans");
writer.WriteStartElement(" Person");
writer.WriteElementString(" Name", " abc");
writer.WriteElementString(" Age"," 17");
writer.WriteEndElement();
writer.WriteStartElement(" Person" ;);
writer.WriteElementString(" Name"," xyz");
writer.WriteElementString(" Age"," 71");
writer.WriteEndElement() ;
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
用户从AEWNET提交( http://www.aewnet.com/)
这是一个简单的例子:
您可以创建一个新的XMLTextReader实例,传递您创建的文件,通过使用ReadElementString方法进行读取g名称和年龄如下:
XmlTextReader reader = new XmlTextReader(@" c:\\\ myde.xml");
while(reader.Read())
{
if(reader.Name.Equals(" Name"))
{
Console.WriteLine(" Name:" + reader.ReadElementString(" Name"));
Console.WriteLine(" Age:" + reader.ReadElementString(" Age"));
}
}
- Mohan
我在写一个XML文件以下方式。现在我需要再次阅读该文件以检索姓名和年龄等数据。
有人可以帮助我。
先谢谢
/ ********************************* /
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@" c:\\\ myde.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(真); // true = standalone
writer.WriteStartElement(" Humans");
writer.WriteStartElement(" Person");
writer.WriteElementString(" Name", " abc");
writer.WriteElementString(" Age"," 17");
writer.WriteEndElement();
writer.WriteStartElement(" Person" ;);
writer.WriteElementString(" Name"," xyz");
writer.WriteElementString(" Age"," 71");
writer.WriteEndElement() ;
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
AEWNET提交的用户( http://www.aewnet.com/ )
你好Xarky
我只想指出XML DOM模型。这个库真的很容易以对象方式编写xmlfiles。甚至更容易阅读...所以你不需要自己创建xml解析器。
这就是你如何制作xml关于XML DOM:
================================== ============
XmlDocument Doc = new XmlDocument();
XmlNode humanElement = Doc.CreateElement(" Humans" ;);
XmlNode personeElement1 = Doc.CreateElement(" Person");
XmlAttribute personElement1Name = Doc.CreateAttribute(" Name");
personElement1Name.Value =" abc";
XmlAttribute personElement1Age = Doc.CreateAttribute(" Age");
personElement1Age.Value =" ; 17"
personElement1.Attributes.Append(personElement1Name);
personElement1.Attributes.Append(personElement1Age);
humanElement.AppendChild(personElement1);
XmlNode personeElement2 = Doc.CreateElement(" Person");
X mlAttribute personElement2Name = Doc.CreateAttribute(" Name");
personElement2Name.Value =" xyz";
XmlAttribute personElement2Age = Doc.CreateAttribute(" Age") ;
personElement2Age.Value =" 71";
personElement2.Attributes.Append(personElement2Name);
personElement2.Attributes .Append(personElement2Age);
humanElement.AppendChild(personElement2);
Doc.AppendChild(humanElement);
Doc.Save(" test.xml" );
==================================== ============== ==
这就是你读它的方式:
==== ============================================== ==
XmlDocument Doc = new XmlDocument();
Doc.LoadXml(" test.xml");
string text ="";
foreach(Doc.Elements.ChildNodes中的XmlNode节点)
{
text ="" ;
if(node.Name ==" Person")
{
if(node.Attributes [" Name"]]! = null)
{
text = node.Attributes [" Name"]。Value)+" \r\\\
";
}
if(node.Attributes [" Name"]!= null)
{
text + = node.Attributes [" Name"]。Value);
}
MessageBox.Show(text);
}
}
================================ ===========
我希望我又不是太混乱,但我特地发现这是
$ B $的真快,方式B,创建XML数据库,并与小麻烦阅读。每个元素都被视为一个节点....所以你可以创建一个XmlNode对象来引用一个
特定元素,无论树有多深。 />
希望有所帮助!
" Xarky" <是********* @ yahoo.com>在消息中写道
news:bc ************************ @ posting.google.com ...
我正在以下列方式编写XML文件。现在我需要再次阅读该文件以检索姓名和年龄等数据。
有人可以帮助我。
先谢谢
/ ********************************* /
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@" c:\\\ myde.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(真); // true = standalone
writer.WriteStartElement(" Humans");
writer.WriteStartElement(" Person");
writer.WriteElementString(" Name", " abc");
writer.WriteElementString(" Age"," 17");
writer.WriteEndElement();
writer.WriteStartElement(" Person" ;);
writer.WriteElementString(" Name"," xyz");
writer.WriteElementString(" Age"," 71");
writer.WriteEndElement() ;
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
Hi,
I am writing an XML file in the following way. Now I need to read
again that file to retrieve data such as Name and Age.
Can someone help me out.
Thanks in Advance
/*********************************/
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@"c:\hede.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(true); // true = standalone
writer.WriteStartElement("Humans");
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "abc");
writer.WriteElementString("Age", "17");
writer.WriteEndElement();
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "xyz");
writer.WriteElementString("Age", "71");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
Here''s a simple example :
You may create a new XMLTextReader instance passing the file you created followed by use of the ReadElementString method for reading name and age like so :
XmlTextReader reader = new XmlTextReader(@"c:\hede.xml");
while (reader.Read())
{
if(reader.Name.Equals("Name"))
{
Console.WriteLine("Name : " + reader.ReadElementString("Name"));
Console.WriteLine("Age : " + reader.ReadElementString("Age"));
}
}
- Mohan
Hi,
I am writing an XML file in the following way. Now I need to read
again that file to retrieve data such as Name and Age.
Can someone help me out.
Thanks in Advance
/*********************************/
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@"c:\hede.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(true); // true = standalone
writer.WriteStartElement("Humans");
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "abc");
writer.WriteElementString("Age", "17");
writer.WriteEndElement();
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "xyz");
writer.WriteElementString("Age", "71");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
User submitted from AEWNET (http://www.aewnet.com/)
Here''s a simple example :
You may create a new XMLTextReader instance passing the file you created followed by use of the ReadElementString method for reading name and age like so :
XmlTextReader reader = new XmlTextReader(@"c:\hede.xml");
while (reader.Read())
{
if(reader.Name.Equals("Name"))
{
Console.WriteLine("Name : " + reader.ReadElementString("Name"));
Console.WriteLine("Age : " + reader.ReadElementString("Age"));
}
}
- Mohan
Hi,
I am writing an XML file in the following way. Now I need to read
again that file to retrieve data such as Name and Age.
Can someone help me out.
Thanks in Advance
/*********************************/
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@"c:\hede.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(true); // true = standalone
writer.WriteStartElement("Humans");
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "abc");
writer.WriteElementString("Age", "17");
writer.WriteEndElement();
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "xyz");
writer.WriteElementString("Age", "71");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
User submitted from AEWNET (http://www.aewnet.com/)
Hi Xarky
I just wanted to point out the XML DOM model. This library makes it really
easy to write xmlfiles in an object way. and even easier to read... so u
don''t have to make your own xml parser.
This is how you would make the xml on XML DOM:
==============================================
XmlDocument Doc = new XmlDocument();
XmlNode humanElement = Doc.CreateElement( "Humans");
XmlNode personeElement1 = Doc.CreateElement("Person");
XmlAttribute personElement1Name = Doc.CreateAttribute("Name");
personElement1Name.Value = "abc";
XmlAttribute personElement1Age = Doc.CreateAttribute("Age");
personElement1Age.Value = "17";
personElement1.Attributes.Append( personElement1Name );
personElement1.Attributes.Append( personElement1Age );
humanElement.AppendChild( personElement1 );
XmlNode personeElement2 = Doc.CreateElement("Person");
XmlAttribute personElement2Name = Doc.CreateAttribute("Name");
personElement2Name.Value = "xyz";
XmlAttribute personElement2Age = Doc.CreateAttribute("Age");
personElement2Age.Value = "71";
personElement2.Attributes.Append( personElement2Name );
personElement2.Attributes.Append( personElement2Age );
humanElement.AppendChild( personElement2 );
Doc.AppendChild( humanElement );
Doc.Save( "test.xml" );
================================================== ==
And this is how you would read it back:
================================================== ==
XmlDocument Doc = new XmlDocument();
Doc.LoadXml( "test.xml" );
string text = "";
foreach( XmlNode node in Doc.Elements.ChildNodes )
{
text="";
if ( node.Name == "Person" )
{
if ( node.Attributes["Name"] != null )
{
text = node.Attributes["Name"].Value ) + "\r\n";
}
if ( node.Attributes["Name"] != null )
{
text += node.Attributes["Name"].Value );
}
MessageBox.Show( text );
}
}
===========================================
I hope I''m not too confusing, but I''ve found this to be a really fast way of
creating xml databases and reading them with little hassle. Each Element is
treated as a node.... so you can create an XmlNode object to reference an
specific element no matter how deep in the tree is.
Hope that help!
"Xarky" <be*********@yahoo.com> wrote in message
news:bc************************@posting.google.com ...Hi,
I am writing an XML file in the following way. Now I need to read
again that file to retrieve data such as Name and Age.
Can someone help me out.
Thanks in Advance
/*********************************/
static void writeXML()
{
XmlTextWriter writer = new XmlTextWriter(@"c:\hede.xml",
Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument(true); // true = standalone
writer.WriteStartElement("Humans");
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "abc");
writer.WriteElementString("Age", "17");
writer.WriteEndElement();
writer.WriteStartElement("Person");
writer.WriteElementString("Name", "xyz");
writer.WriteElementString("Age", "71");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
这篇关于问题阅读Xml文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!