我需要知道如何使用XML(至少有一種我使用的語言(最好是WebMatrix C#),但我曾嘗試做這在過去是JavaScript的幾次,但沒有一個在線示例(以StackOverflow或其他方式)足以讓它爲我工作(請記住,我沒有真正的XML體驗,我當然在XPath上完成了簡單的教程,XML等,但我們都知道這些教程的簡短和不完整)。如何使用XML與WebMatrix剃鬚刀(C#)
我現在想在WebMatrix C#中這樣做,因爲在服務器端處理它似乎更容易管理,並且對用戶來說更快。
當我試圖用一些使用此代碼網上給出的例子:
@using System.Xml.Linq
@{
var file = XDocument.Load(Server.MapPath(@"/App_Code/Test.xml"));
var results = from e in file.Root.Elements()
select new { Name = e.Element("someValue").Value, Sales = e.Element("someValueTwo").Value };
var grid = new WebGrid(results);
}
(我並不真的需要使用的WebGrid可言,它只是在本例中) 和測試保存在名爲Test.xml的App_Code文件夾中的xml文檔。
嘗試從xml文檔中的兩個字段讀取一些測試值時出現錯誤。下面是測試XML文檔:
<?xml version="1.0" encoding="utf-8" ?>
<someNode>
<someValue>HEY THERE! I'M XML!</someValue>
<someValueTwo>Another Value</someValueTwo>
</someNode>
這裏是我嘗試的值在CSHTML文件進一步降下來到頁面:
<p>This should be a fun test!<br/>And the value is...:
@foreach(var f in results)
{
<div>@f.Name</div>
<div>@f.Sales</div>
}
</p>
最後,這裏是我得到時錯誤我運行頁面(記住,沒有其它數據,代碼或文件[CS或以其他方式]關於本次測試或使用XML在我的網站的任何地方存在的話):
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 4: var file = XDocument.Load(Server.MapPath(@"/App_Code/Test.xml"));
Line 5: var results = from e in file.Root.Elements()
Line 6: select new { Name = e.Element("someValue").Value, Sales = e.Element("someValueTwo").Value };
Line 7: var grid = new WebGrid(results);
Line 8: }
(6號線是行錯誤)
我錯過了什麼?這些例子表現得像這樣簡單,但obv。不是這樣。
誠實地說,我已經充分了解了WebMatrix在不使用XML的情況下完成我的目標(我總是可以使用數據庫,或者渲染頁面等),但我對這種標記語言感到厭倦無情地躲過我,只是因爲我無法用我使用的任何語言(JavaScript,jQuery,C#)的XML文件讀取。
哦,不用擔心,我不會用VB.net兩種。我也使用C#,好奇你爲什麼以爲我用VB,但我喜歡你的答案,如果你用這種方法取得了更大的成功,我會理解的。似乎更有意義,至少對我來說。 – VoidKing
我不認爲這在WebMatrix中是這樣工作的......感謝您的嘗試,但:)) – VoidKing
智能感知在這裏沒有看到某些方法(這意味着它們要麼是不存在的,要麼是非導入的,或者超出了範圍) – VoidKing