为什么我的XML阅读器阅读所有​​其他元素? [英] Why is my XML reader reading every other element?

查看:312
本文介绍了为什么我的XML阅读器阅读所有​​其他元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立了一个非常简单的表,该表显示4列和4行.执行以下代码时,它将显示.xml文件中的所有其他元素.它不会按表行区分.它通读无任何问题,而且我已经运行了xml验证程序,因此它不是语法问题.

I've built a very simple table that displays 4 columns and 4 rows. When the following code is executed it displays every other element in the .xml file. It does not discriminate per table row. It reads through without any problem and I have run xml validators so it not a syntax issue.

public partial class lblXmlOutput : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        XmlReaderSettings settings = new XmlReaderSettings();
        settings.ConformanceLevel = ConformanceLevel.Document;
        settings.IgnoreWhitespace = true;
        settings.IgnoreComments = true;

        XmlReader reader = XmlReader.Create(Server.MapPath("Part2XMLex.xml"), settings);

        string result = "";

        while (reader.Read())
        {
            if (reader.IsStartElement("td"))
                result += reader.ReadElementContentAsString();

            txtOutput.Text = result;
        }
   }
}

推荐答案

由于 .Read() .ReadElementContentAsString()(无参数重载)都会移动阅读器到下一个节点.

Because both .Read() and .ReadElementContentAsString() (the parameterless overload) move the reader to the next node.

将您的 while 条件更改为:

while (!reader.EOF)

然后添加:

else reader.Read();

这篇关于为什么我的XML阅读器阅读所有​​其他元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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