我需要使用XmlTextReader循环遍历XML文档的节点。不幸的是,使用除XmlTextReader之外的任何其他东西都不是一种选择。
我的代码:
class Program { private static void Main(string[] args) { XmlTextReader reader = new XmlTextReader("http://api.own3d.tv/liveCheck.php?live_id=180491"); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Text: Console.WriteLine("Live: " + reader.Value); break; } } Console.ReadLine(); } }
使用的XML:
<own3dReply>
<liveEvent>
<isLive>true</isLive>
<liveViewers>225</liveViewers>
<liveDuration>1222</liveDuration>
</liveEvent>
</own3dReply>
它输出到控制台的内容:
Live: true Live: 225 Live: 1222
需要输出的内容:
Live: true Viewers: 225 Duration: 1222
它需要遍历每个节点并执行此操作,我无法弄明白。我尝试使用switch和while语句,但我似乎无法让它工作。
答案 0 :(得分:3)
而不是:
Console.WriteLine("Live: " + reader.Value);
使用:
Console.WriteLine(string.Format("{0}: {1}", reader.LocalName, reader.Value));
LocalName
属性为您提供节点的本地名称(isLive
,liveViewers
和liveDuration
)。如果需要,你可以对它们进行更多的字符串操作。