카테고리 없음

xml node delete

마피아9 2011. 6. 17. 19:32

1)

<navigation> 

 <page id="1"></page>

 <page id="2"></page>

 <page id="3"></page> 

 <page id="4"></page>

 <page id="5"></page>

</navigation>

 

XmlDocument d = new XmlDocument(); 

    d.Load("MyFileName.Xml"); 
 XmlNode t = d.SelectSingleNode("/navigation/page[@id='1']");

 t.ParentNode.RemoveChild(t);

d.Save();

 2)

 XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(FilePathToLoad);
XmlNodeList aElements = xmlDocument.SelectNodes(XPathQueryStrint);

foreach (XmlNode node in aElements)
{
node.ParentNode.RemoveChild(node);

 

<?xml version="1.0"?> 
<Xml1> 
 
<Settings> 
   
<Setting name="DisplayFormat" value="Full" /> 
   
<Setting name="File1" value="a" /> 
   
<Setting name="File1" value="b" /> 
   
<Setting name="File1" value="c" /> 
   
<Setting name="File1" value="d" /> 
 
</Settings> 
</Xml1> 
XmlDocument doc = new XmlDocument(); 
doc
.Load(fileName); 
XmlNodeList nodes = doc.SelectNodes("//Setting[@name='File1']"); 
or

XDocument doc = XDocument.Load("input.xml"); 
var q = from node in doc.Descendants("Setting") 
        let attr
= node.Attribute("name") 
       
where attr != null && attr.Value == "File1" 
       
select node; 
q
.ToList().ForEach(x => x.Remove()); 
doc
.Save("output.xml"); 
-- node add

XmlDocument originalXml = new XmlDocument(); 
    originalXml
.Load(path); 
   
XmlNode menu = originalXml.SelectSingleNode("//Settings"); 
   
XmlNode newSub = originalXml.CreateNode(XmlNodeType.Element, "Setting", null); 
   
XmlAttribute xa = originalXml.CreateAttribute("name"); 
    xa
.Value = "qwerty"; 
   
XmlAttribute xb = originalXml.CreateAttribute("value"); 
    xb
.Value = "555"; 
    newSub
.Attributes.Append(xa); 
    newSub
.Attributes.Append(xb); 
    menu
.AppendChild(newSub); 
    originalXml
.Save(path);