为什么我的XML阅读器会读取其他所有元素

本文关键字:其他 读取 元素 我的 XML 为什么 | 更新日期: 2023-09-27 18:30:06

我构建了一个非常简单的表,它显示4列4行。当执行以下代码时,它会在.xml文件中每隔一个元素显示一次。它不区分每个表行。它读起来没有任何问题,而且我运行了xml验证器,所以这不是语法问题。

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;
        }
   }
}

为什么我的XML阅读器会读取其他所有元素

因为.Read().ReadElementContentAsString()(无参数重载)都会将读取器移动到下一个节点。

while条件更改为:

while (!reader.EOF)

然后添加:

else reader.Read();