【发布时间】:2016-04-14 12:48:49
【问题描述】:
我有这个 xml 文件:(它是一个草稿并且有多个这样的文件)
<?xml version="1.0" encoding="UTF-8" ?>
<Car>
<Location name = "somewhere">
<Type type="itstype">
<Color>Blue</Color>
<Owner>Bill</Owner>
<Price>135</Price>
</Type>
</Location>
<Location name = "somewhere">
<Type type="itstype">
<Color>Red</Color>
<Owner>John</Owner>
<Price>250</Price>
</Type>
</Location>
</Car>
我想使用 C# 读取所有 xml 文件(我可以这样做)并在每个 xml 文件中找到每辆车的最高价格并将它们显示在屏幕上。 (例如,我有 10 个 xml 文件,我必须从每个 xml 文件中打印出 10 个高价以及具有该价格的汽车的名称)一些 xml 文件有两辆以上的汽车。 我尝试使用它,但它只显示它读取的最后一个 xml 文件的最高价格。
public List<Cars> carHighestPrice (string carsname)
{
var highest = from hv in locations
from HV in hv.cars
orderby HV.votes
where hv.locationName == carsName
select HV;
return highest.ToList();
}
这是我用来显示它们的方法
public void DisplayHighestPrices()
{
string str = "";
foreach (var highest in locationList.locations)
{
str = locationList.carHighestPrice (highest.locationName).Last() + Environment.NewLine;
}
lbl1.Text = str;
}
编辑:
public String XMLFileName { get; private set; }
public configXML(String XMLFileName)
{
this.XMLFileName = XMLFileName;
}
public override String ToString()
{
return String.Format("{0}", XMLFileName);
}
请问有什么解决办法吗?
【问题讨论】:
-
您的示例 xml 文件充满了语法错误。
标签没有结束标签, 标签以 标签结束。请先修复它。 -
@Seprum 我解决了这个问题。对不起,我复制了错误的文件!程序也可以毫无问题地读取 xml 文件,但我只需要从每个 xml 文件中打印最高价格(我有 10 个,所以我必须有 10 个价格)
-
如果适合您,我可以将 XML 发布到 LINQ 解决方案。
-
如果这行得通并且能做我想做的事,那就太好了! @Seprum