var query = from k in xDoc.Descendants("product")
select
new
{
KategoriKod =Convert.ToString( k.Element("cat1").Value) + Convert.ToString( k.Element("cat2").Value),
};
我想用一个变量取一个xml文件的两个elemens。但是我接受了这个错误
“'string'不包含'Value'”的定义
任何人帮助PLZ。?
答案 0 :(得分:0)
以下适用于我:
static void Main(string[] args)
{
var xDoc = XDocument.Parse(
@"<root>
<product>
<cat1>ABC</cat1>
<cat2>123</cat2>
</product>
<product>
<cat1>XYZ</cat1>
</product>
</root>");
var query = from k in xDoc.Descendants("product")
select new
{
KategoriKod = (string)k.Element("cat1") + (string)k.Element("cat2")
};
foreach(var k in query)
{
Console.WriteLine(k);
}
}
结果如下:
{KategoriKod = ABC123} {KategoriKod = XYZ} 按任意键继续 。 。
请注意,在对不存在的元素调用.Value时,我使用显式转换运算符(将元素转换为字符串)以避免NullReferenceExceptions。