所以我根本不願意發佈它,因爲已經有無限的文檔。它已經2年了,我碰到了LINQ,現在它開始挖掘我。經過3個小時的連續嘗試和失敗,我決定做我不願意做的事情。發佈到SO。通過linq從XML獲得價值
我有這樣的XML
<TopMost xmlns="http://abc.com/">
<Mine>MyName</Mine>
<Hello>
<File>SIMPLE</File>
<Book>20</Book>
<Copy>0</Copy>
</Hello>
</TopMost>
我只是想獲得的 「文件」 的價值觀, 「尚書」, 「複製」。並希望將其與單元測試中的某些內容進行比較。
我達到了這個高達:
string result = string.Empty;
const string path = @"C:\Library.xml";
XDocument xdoc = XDocument.Load(path);
var lv1s = from paper in xdoc.Descendants("Hello")
select new
{
fileP = paper.Element("File").Value,
bookP = paper.Element("Book").Value,
copyP = paper.Element("Copy").Value,
};
result += lv1s.fileP + lv1s.bookP + lv1s.copyP; // Error
MessageBox.Show(result);
錯誤:序列不包含任何元素
我知道必須有周圍一個簡單的方法,我從它很遠。我有很多這樣的代碼片段,我嘗試過並且失敗了。
編輯
var lv1s = from paper in xdoc.Descendants(ns + "Hello")
select new
{
fileP = paper.Element(ns + "File").Value,
bookP = paper.Element(ns + "Book").Value,
copyP = paper.Element(ns + "Copy").Value,
};
我收到編譯錯誤。
Error: The Name ns doex not exist in current context.
我假設發票==紙或反之亦然? – 2012-02-16 10:50:16
它的紙.......對不起 – Sandy 2012-02-16 10:52:51