也许这个标题令人困惑。
使用 linq 读取 xml 时遇到一个非常奇怪的问题。
我的 XML 是这样的:
<Result>
<Hotels>
<Hotel>
<Documents>
<Image>
<Url>http://www.someUrlToImage1</Url>
</Image>
<Image>
<Url>http://www.someUrlToImage2</Url>
</Image>
</Documents>
<Room>
<Documents>
<Image>
<Url>http://www.someUrlToImage3</Url>
</Image>
<Image>
<Url>http://www.someUrlToImage4</Url>
</Image>
</Documents>
</Room>
</Hotel>
<Hotels>
<Result>
如果我想获得关于酒店的两张图片,我会获得所有 4 张图片...:
Hotel temp = (from x in doc.Descendants("Result").Descendants("Hotels").Descendants("Hotel")
select new Hotel()
HotelImages= new Collection<string>(
x.Descendants("Documents").SelectMany(
documents => documents.Descendants("Images").Select(
document => (string)document.Descendants("URL").FirstOrDefault() ?? "")).ToList())
}).First();
我希望有人在我之前遇到过这个问题。