私はすでにそれを投稿したいとは思っていませんでした。 2年が経ち、LINQに触れました。今は私を掘り起こしています。 3時間の連続した試行錯誤の後、私は自分が喜んでいなかったことをすることに決めました。それをSOに投稿してください。XMLからlinqを使って価値を得る
私はこの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);
エラー:シーケンスは、私はそこの周りの簡単な方法である必要があり、私ははるかにそれからだ知って何の要素
が含まれていません。私は試して失敗したコードスニペットがたくさんあります。
EDIT
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,
};
私はコンパイルエラーを取得しています。
あなたがnamespcaeを指定する必要がError: The Name ns doex not exist in current context.
私は請求書==紙、またはその逆を想定していますか? –
その紙.........申し訳ありません – Sandy