我有一个下面的xml文件。
<?xml version='1.0'?>
<Products>
<Product>
<Product_id>1100</Product_id>
<Product_name>xyz</Product_name>
</Product>
<Product>
<Product_id>1101</Product_id>
<Product_name>abc</Product_name>
</Product><Product>
<Product_id>1102</Product_id>
<Product_name>def</Product_name>
</Product>
</Products>
我试图获取每个属性的值,但我只得到了一个值,而不是所有的3个属性。 有什么建议可以纠正这个问题吗?
foreach (XElement xe in xdoc.Descendants().Elements("Product"))
{
obj.status = xe.Element("Product_id"). Value;
obj.file_id = xe.Element("Product_name").Value;
productlist.Add(obj);
}
上面这个循环除了第一个产品 "xyz "之外,没有遍历所有的属性。
你需要为每个循环创建一个新对象。 现在你只保存最后一个项目
class Program
{
static void Main(string[] args)
{
List<Object> productlist = new List<Object>();
foreach (XElement xe in xdoc.Descendants().Elements("Product"))
{
Object obj = new Object();
obj.status = xe.Element("Product_id").Value;
obj.file_id = xe.Element("Product_name").Value;
productlist.Add(obj);
}
}
}
public class Object
{
public string status { get; set; }
public string file_id { get; set; }
}