1

在使用 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>

它输出到控制台的内容:

    直播:真
    直播:225
    直播:1222

它需要输出什么:

    直播:真
    观众:225
    持续时间:1222

它需要遍历每个节点并执行此操作,而我就是想不通。我尝试使用 switch 和 while 语句,但我似乎无法让它工作。

4

1 回答 1

3

代替:

Console.WriteLine("Live: " + reader.Value);

采用:

Console.WriteLine(string.Format("{0}: {1}", reader.LocalName, reader.Value));

LocalName属性为您提供节点的本地名称(isLiveliveViewersliveDuration。如果需要,您可以对这些进行更多的字符串操作。

于 2011-12-25T18:16:33.850 回答