我使用的是asp.net,我有一个从第三方网站提供的xml文件。我希望它被刮掉,所以它只显示第一个主节点。我的问题是任何节点都没有属性。我该如何设法删除它们?
以下是xml。
<?xml version="1.0"?>
<offers>
<class_offer>
<name><![CDATA[Learn to surf and save 52% at Muriwai Surf School]]></name>
<url>http://domain.co.nz/wai-surf-school-just-29</url>
<location>Auckland</location>
</class_offer>
<class_offer>
<name><![CDATA[$35 for a 30 minute luxury Slipper Bath experience for TWO]]></name>
<url>http://domain.co.nz/uxury-slipper-bath-experience-for-two</url>
<location>Auckland</location>
</class_offer>
<class_offer>
<name><![CDATA[Save 52% at Te Aroha Mineral Spas]]></name>
<url>http://domain.co.nz/rience-for-two-PLUS-massage</url>
<location>Auckland</location>
</class_offer>
</offers>
我想在下面这样做,只保留第一个(最后2 "<class_offer>"
已删除,"<location>"
已删除)
<?xml version="1.0"?>
<offers>
<class_offer>
<name><![CDATA[Learn to surf and save 52% at Muriwai Surf School]]></name>
<url>http://domain.co.nz/wai-surf-school-just-29</url>
</class_offer>
</offers>
我真的不知道在节点中没有属性的情况下要删除该怎么做。如果有人能帮助那就太好了!提前致谢。
答案 0 :(得分:0)
从头到尾:
XElement root = XElement.Parse(xml);
XElement firstNode = root.Element("offers").Elements().First();
firstNode.Element("location").Remove();
foreach(XElement x in root.Element("offers").Elements().Skip(1))
x.Remove();