2017-08-02 14 views
2

這就像新聞應該在我的xml文件中列出。目前沒有任何東西,但它一定是這樣的,它只是在它被創建後立即顯示新聞。不檢索XML文件並指示消息中的頁面

因爲它是現在的話,那就闡明

有一個關於它

<?xml version="1.0" encoding="utf-8"?> 
<urlset> 
    <new> 
    <url> 
     <Loc></Loc> 
     <lastmod></lastmod> 
     <changefreq></changefreq> 
    </url> 
    </new> 
</urlset> 

更新XML這裏沒有錯誤消息:

public static void ListXML() 
    { 
     using (var DB = new DBEntitiesDatabase()) 
     { 
      var url = @"C:\Users\HelloWorld\Documents\visual studio 2017\Projects\Test\Website"; 
      var urlxml = url + "/sitemap.xml"; 
      XDocument doc = XDocument.Load(urlxml); 
      var newlist = DB.New.OrderBy(i => i.NewId).ToList(); 
      foreach (var item in newlist) 
      { 
       new XElement("new", 
        new XElement("url", 
         new XElement("Loc", url + "/nyhed/" + item.url + "/" + item.NewId), 
         new XElement("lastmod", item.opretDato), 
         new XElement("changefreq", "daily"))); 
      } 

      doc.Save(urlxml); 
     } 
    } 
+1

嗯,也許如果您可以將新元素添加到可能工作的文檔...:D – Gusman

+0

您認爲哪些元素? @Gusman – Jasper

+0

看看你的循環,你正在創建的元素,但沒有將它們添加到文檔。 – Gusman

回答

1

看來你是生成XML標籤,但不會將其附加到xml文檔。

解決方案:嘗試添加自己的代碼來記錄是這樣的:

// in foreach loop 
var newTag = new XElement("new"... /*etc like you generating it*/); 
// assuming you already have root xml tag in your file 
doc.Root.Add(newTag); 

(我不記得的XDocument樹操作的精確的API,但希望你有這個想法)

+0

好的,謝謝,但Newtag從哪裏來? – Jasper

+0

你的意思是'var newtag = new XElement(「new」。' – Jasper

+0

感謝它的工作! – Jasper