无法将reader.ReadString()转换为字符串

时间:2014-01-21 23:07:39

标签: c# xmlreader

语言 C# in Forms

我正在尝试将标签更改为我检索到的某些xml数据,但是我得到的错误是它无法将其转换为字符串。因为我把它作为一个字符串读出来,这很令人困惑吗?

我已经在一个控制台项目中尝试过,它在那里工作正常:

控制台中的代码:

String URLString = "http://query.yahooapis.com/v1/public/yql?...

XmlTextReader reader = new XmlTextReader(URLString);

reader.ReadStartElement("Bid");
Console.Write("YAHOO's current bid price: ");
Console.WriteLine(reader.ReadString());
reader.ReadEndElement();

表单中的代码:

String URLString = "http://query.yahooapis.com/v1/public/yql?...

XmlTextReader reader = new XmlTextReader(URLString);

reader.ReadToFollowing("Bid");
reader.ReadStartElement("Bid");
lblBidPrice.Text = Convert.ToString(reader.ReadString());
reader.ReadEndElement();

1 个答案:

答案 0 :(得分:0)

这完全没问题:

string xml = @"<?xml version=""1.0""?>
<Bid>
  This is bid content
</Bid>
" ;
StringReader sr = new StringReader(xml) ;
XmlReader reader = XmlReader.Create(sr) ;
reader.MoveToContent() ;
reader.ReadStartElement("Bid");
string content = Convert.ToString(reader.ReadString()) ;
Console.WriteLine( content ) ;
reader.ReadEndElement();

产生你期望的输出(虽然为什么你觉得需要尝试将字符串转换为字符串超出我的范围):

  This is bid content

使用您期望的其他前导/尾随换行符。