private void button1_Click(object sender, System.EventArgs e)
{
FileStream fs=new FileStream("books.xml",FileMode.Open);
XmlTextReader tr=new XmlTextReader(fs);
while(!tr.EOF)
{
if(tr.MoveToContent()==XmlNodeType.Element&&tr.Name=="title")

{
//从元素中读取文本数据
//listBox1.Items.Add(tr.ReadElementString());//自动定位到下一个节点
LoadList(tr);//忽略异常

}
else
{
tr.Read();
}
}
}
private void LoadList(XmlReader reader)
{
try
{
listBox1.Items.Add(reader.ReadElementString());//自动定位到下一个节点
}
catch(XmlException er){}//ignore }

解决方案 »

  1.   

    xml -->string 
    XmlDocument doc = new XmlDocument();
    doc.Load(@"c:\1.xml");
    String s = doc.FirstChild.Value.ToString() + doc.DocumentElement.OuterXml.ToString();
    若仅仅是读取节点,完全没有必要把这个string 转为xml,再读取。直接读取这个xml文件就可以了。
      

  2.   

    楼上提供的方法不是我想要的,我之所以要相互转化,是因为我这个方法是写在webService里面供别人调用的,
    别人调用时传入的参数就是 string型的xml文件,我没有办法直接按照路径来读取xml文件.
    所以我想知道如何把这个string 型转化成xml格式然后读取其中节点数据.
    不过还是先谢谢楼上二位了.