2009-08-28 83 views
0
<?xml version="1.0" encoding="utf-8" ?> 

<NickContents> 
    <Nick id="test" password="test1" /> 
    <Nick id="test2" password="test1" /> 
    <Nick id="nKm4T5c1UQKyfyVPscL99w==" password="nKm4T5c1UQKyfyVPscL99w==" /> 
    <Nick id="zrtcPuJwJLYtQYzyLqYXYA==" password="i+n+EXfFKHAMsCafvn1uiQ==" /> 
    <Nick id="Utn83sH6g1/8IO7GeE9NSA==" password="pnloAHE/nagl2kw23L+BsA==" /> 
</NickContents> 

如何删除where id = test?Xml C#删除帮助?

+0

我想你应该提供一些示例XML,并注明是哪个版本。 NET你是usign(影响XmlDocument与XDocument等) – 2009-08-28 07:02:11

+1

你会永远学会如何正确地提出问题吗? – 2009-08-28 07:03:38

回答

3

你可以试试这个:

XmlDocument d = new XmlDocument(); 
d.Load("MyFileName.Xml"); 

XmlNode t = d.SelectSingleNode("/path/to/node[@id='test']"); 
t.ParentNode.RemoveChild(t); 

d.Save(); 
+0

dot net 2 how至? – 2009-08-28 07:10:52

+0

错误\t \t 1没有过载的方法为 '保存' 取 '0' 的参数\t C:\用户\管理员\桌面\ DigALL \ Nick.cs \t MoodigX – 2009-08-28 07:11:48

+0

对象引用不设置为一个对象的一个​​实例。 – 2009-08-28 07:13:53

0

使用XmlDocument为例,和治疗id作为一个属性:

XmlDocument doc = new XmlDocument(); 
doc.LoadXml(@"<xml> 
    <row id='123'/> 
    <row id='456'/> 
    <row id='789'/> 
</xml>"); 
XmlNode node = doc.SelectSingleNode("//row[@id=456]"); 
node.ParentNode.RemoveChild(node); 
string s = doc.OuterXml; 
+0

XmlDocument d = new XmlDocument(); d.Load(File); XmlNode t = d.SelectSingleNode(“/ NickContents [@ id ='test']”); t.ParentNode.RemoveChild(t); d.Save(File); ? – 2009-08-28 07:22:15

+1

这不是一个问题......但是在行之间阅读:“/ NickContents/Nick [@ id ='test']”或“// Nick [@ id ='test']” – 2009-08-28 07:28:19