问题阅读Xml文件 [英] Problem Reading Xml file

查看:65
本文介绍了问题阅读Xml文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我正在以下列方式编写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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆