C# 查找xml指定的节点删除

<t><text>1</text><text>2</text></t>我要删除InnerText为1的节点... <t>
<text>1</text>
<text>2</text>
</t>
我要删除InnerText为1的节点
展开
 我来答
whm412
2013-05-08 · TA获得超过515个赞
知道小有建树答主
回答量:289
采纳率:66%
帮助的人:281万
展开全部
可以参考下面的代码,希望对你有帮助。
string xmlString = @"<?xml version=""1.0"" standalone=""yes""?> <t>
<text>1</text>
<text>2</text>
</t>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
XmlNode node = doc.SelectSingleNode("//text[text()='1']");
XmlNode parentNode = node.ParentNode;
parentNode.RemoveChild(node);
return doc.InnerXml;

注:<?xml version=""1.0"" standalone=""yes""?>这句话需要增加,否则不能加载到XmlDocument对象当中。
流丨年丶
推荐于2016-11-14 · 超过17用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:33.6万
展开全部
XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;

foreach(XmlNode xn in xnl)
{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("text")=="1")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("bookstore.xml");
追问
能看清楚题再回答吗
追答
查找xml节点 删除 有错吗?  通过xmlelement进行查找  这是除了遍历之外的最简单的方法。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狮是搞完泪18
2013-05-07 · TA获得超过270个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:259万
展开全部
XmlDocument doc = new XmlDocument();
doc.Load("A.xml");
XmlNode node = doc.SelectSingleNode("t");

for (int i = node.ChildNodes.Count - 1; i >= 0; i--)
{
if (node.ChildNodes[i].InnerText.Equals("1", StringComparison.InvariantCultureIgnoreCase))
{
node.RemoveChild(node.ChildNodes[i]);
}
}
doc.Save("A.xml");
希望可以帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式