为什么我的XML阅读器会读取所有其他元素?
我已经构建了一个非常简单的表,显示4列和4行。 执行以下代码时,它将显示.xml文件中的每个其他元素。 它不区分每个表行。 它没有任何问题地读取,我已经运行了xmlvalidation器,因此它不是语法问题。
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; } } }
因为.ReadElementContentAsString()
.Read()
和.ReadElementContentAsString()
(无参数重载)都会将阅读器移动到下一个节点。
将您的while
条件更改为:
while (!reader.EOF)
然后加:
else reader.Read();