2015-09-07 78 views
3

XML如何通過屬性

<WorkTable> 
    <Days> 
     <Day id="0" name="Monday"/> 
     <Day id="1" name="Tuesday"/> 
     <Day id="2" name="Wednesday"/> 
     <Day id="3" name="Thursday" /> 
     <Day id="4" name="Friday"/> 
     <Day id="5" name="Saturday"/> 
     <Day id="6" name="Sunday"/> 
    </Days> 
    <SpecialDays> 
     <Day date="22.07.2015"/> 
     <Day date="24.07.2015"/> 
    </SpecialDays> 
</WorkTable> 

刪除XML節點此代碼不會刪除XML節點。你能幫我找到問題嗎?

XmlDocument doc = new XmlDocument(); 
doc.Load(localXMLpath + xmlFileName); 
XmlNode delNode= doc.SelectSingleNode("/WorkTable/SpecialDays/Day[@date='24.07.2015']"); 
delNode.ParentNode.RemoveChild(delNode); 
doc.Save(localXMLpath + xmlFileName); 
+0

它應該是相同的,因爲我的固定 – Koray

+0

你得到一個特定的錯誤? – Bgl86

+1

你確定你的問題不是它覆蓋文件?代碼工作正常 – rbm

回答

3

這應該工作:

XDocument xdoc = XDocument.Load(filename); 
xdoc.Element("WorkTable").Element("SpecialDays").Elements("Day") 
    .Where(x => (string)x.Attribute("date") == "24.07.2015") 
    .Remove(); 
xdoc.Save(filename); 
+1

這就是一些不錯的代碼人+1無論如何:) –