我构建了一个非常简单的表,显示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;
}
}
}
答案 0 :(得分:6)
因为.Read()
和.ReadElementContentAsString()
(无参数重载)都会将读者移动到下一个节点。
将您的while
条件更改为:
while (!reader.EOF)
然后添加:
else reader.Read();