【发布时间】:2016-01-22 07:23:51
【问题描述】:
认为这是我的 xml ..
<ListOfDestinations>
<Destination>
<City>Ahmedabad</City>
<Title>Cheap Flights to Ahmedabad</Title>
<Content>
<Top10PlacestoVisit>
<subTitle>1</subTitle>
<details>d1</details>
<subTitle>2</subTitle>
<details>d2</details>
<subTitle>3</subTitle>
<details>d3</details>
<subTitle>4</subTitle>
<details>d4</details>
<subTitle>5</subTitle>
<details>d5</details>
<subTitle>6</subTitle>
<details>d6</details>
<subTitle>7</subTitle>
<details>d7</details>
<subTitle>8</subTitle>
<details>d8</details>
<subTitle>9</subTitle>
<details>d9</details>
<subTitle>10</subTitle>
<details>d10</details>
</Top10PlacestoVisit>
</Content>
</Destination>
</ListOfDestinations>
所以我想将所有 subTitle 和 details 都列在一个列表中。我该怎么做。这就是我尝试过的。
XmlDocument DestinationXml = new XmlDocument();
DestinationXml.Load(Server.MapPath("~/Xml_Data/Destination.xml"));
var xdoc = XDocument.Parse(DestinationXml.InnerXml);
var selectedCity = xdoc.Descendants("ListOfDestinations")
.Select(d => d.Elements("Destination")
.Where(w => w.Element("City").Value == DesName));
在这里获取<Top10PlacestoVisit></Top10PlacestoVisit>中的所有数据(子标题和详细信息)
然后我创建了一个Model 并分配了这样的值。但是我无法同时将subTitle 和details 加入到列表中。这就是我尝试过的
foreach (var itemz in selectedCity)
{
var needed = itemz.Elements("Top10PlacestoVisit");
foreach (var nitems in needed)
{
var getSubs = needed.Elements("details");
foreach (var itm in getSubs)
{
details.Add(new Destinations
{
details = itm.Value
});
}
}
}
ViewBag.details = details;
在这里它成功地获得了subTitle,但我怎样才能获得details并同时分配它。帮我解决这个问题。
【问题讨论】:
标签: c# .net xml linq-to-xml