【发布时间】:2019-08-26 01:08:38
【问题描述】:
我的 xml 看起来像这样:
<?xml version="1.0"?>
<planets>
<planet number="1" diameter="3030 miles" year="88 earth days">
<name>Mercury</name>
</planet>
<planet number="2" diameter="7516 miles" year="225 earth days">
<name>Venus</name>
</planet>
<planet number="3" diameter="7926 miles" year="365 earth days">
<name>Earth</name>
<moons>
<moon diameter="2160 miles">The Moon</moon>
</moons>
</planet>
<planet number="4" diameter="4217 miles" year="687 earth days">
<name>Mars</name>
<moons>
<moon diameter="17 miles">Phobos</moon>
<moon diameter="9 miles">Deimos</moon>
</moons>
</planet>
</planets>
我尝试查询月数。
例如,对于 Mars,我想要 2 作为结果,然后我想将其与文本框中输入的数字进行比较。
var text = Request.Params[0];
XDocument xdoc = XDocument.Load(Server.MapPath("~/solar.xml"));
XDocument xresp = new XDocument(new XElement("planets"));
if(text != null)
{
IEnumerable<XElement> lune =
from b in xdoc.Elements("planets").Elements("planet")
where int.Parse(b.Element("moons").Count()) == int.Parse(text)
select b;
foreach (XElement xEle in lune)
xresp.Element("planets").Add(xEle);
}
Response.Clear();
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.UTF8;
xresp.Save(Response.Output);
Response.End();
【问题讨论】:
标签: xml linq-to-xml