2012-04-06 95 views
3

我已經構建了一個顯示4列和4行的非常簡單的表格。當執行以下代碼時,它會顯示.xml文件中的其他每個元素。它不會歧視每個表格行。它通讀沒有任何問題,我已經運行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; 
     } 
    } 
} 

回答

6

因爲無論.Read().ReadElementContentAsString()(無參數過載)的讀取器移動到下一個節點。

更改while條件:

while (!reader.EOF) 

然後加:

else reader.Read(); 
+0

那麼,什麼將您的建議是讓讀者通過正確顯示所期望的結果表迭代? – 2012-04-06 01:42:59

+0

@詹姆斯 - 我已經更新了我的答案。 – gilly3 2012-04-06 01:49:57

+0

這似乎並不是解決方案,只是在頁面試圖加載(沒有成功)時獲得一個旋轉輪。我不確定是否需要其他格式。 – 2012-04-06 01:52:43