【发布时间】:2012-02-01 17:41:20
【问题描述】:
我有一个这样的 XML 文件
<BallList>
<Brand name="xyz">
<BallName>ball A</BallName>
<DateApproved>Jan-12</DateApproved>
<link>www.a.com</link>
</Brand>
<Brand name="abc">
<BallName>Ball B</BallName>
<DateApproved>Jan-02</DateApproved>
<link>www.b.com</link>
</Brand>
</BallList>
这样就有大约 150 个品牌和 8000 个球名。我知道这不是表示 XML 的好方法,但是现在由于数据巨大,无法修改结构。
我需要通过将“品牌”节点与其球名进行比较来删除它
这是我正在尝试的代码:
XElement doc = XElement.Load(Server.MapPath("NetBalls.xml"));
doc.Elements("Brand")
.Where(s => s.Attribute("name").Value == DropDownList1.SelectedItem.Text)
.Elements("BallName")
.Where(l => l.Value == textbox1.Text)
.AncestorsAndSelf()
.Remove();
我正在尝试搜索品牌并进入其元素节点并检查其节点并删除其父节点。
谁能帮我解决这个问题?
【问题讨论】:
标签: c# linq c#-4.0 linq-to-xml