
求助:使用C#修改XML文件某段节点内容
<?xmlversion="1.0"encoding="utf-8"?><Drivers><ClientID='0001'>(内部包含子节点,类似0003节点)<Clie...
<?xml version="1.0" encoding="utf-8"?>
<Drivers>
<Client ID='0001'>(内部包含子节点,类似0003节点)
<Client ID='0002'>(内部包含子节点,类似0003节点)
<Client ID='0003'>
<ConfigID>AAA</ConfigID>
<Name>BBB</Name>
<Code>
<Num>CCC</Num>
</Code>
</Client>
<Client ID='0004'>(内部包含子节点,类似0003节点)
</Drivers>
需求:
1.若不存在<Code>节点,则在该位置插入<Code>节点这段内容;
2.若存在<Code>节点,则删除原<Code>节点内容并重新添加。
请大佬们协助!!!万分感谢! 展开
<Drivers>
<Client ID='0001'>(内部包含子节点,类似0003节点)
<Client ID='0002'>(内部包含子节点,类似0003节点)
<Client ID='0003'>
<ConfigID>AAA</ConfigID>
<Name>BBB</Name>
<Code>
<Num>CCC</Num>
</Code>
</Client>
<Client ID='0004'>(内部包含子节点,类似0003节点)
</Drivers>
需求:
1.若不存在<Code>节点,则在该位置插入<Code>节点这段内容;
2.若存在<Code>节点,则删除原<Code>节点内容并重新添加。
请大佬们协助!!!万分感谢! 展开
1个回答
展开全部
使用XmlDocument读取,操作XmlNode
在XmlNode中,有已经封装好的AppendChild、InsertBefore、InsertAfter、ReplaceChild方法可以实现你的需求(根据自身情况调用),
你那里的删除原有节点,重新添加,如果是在同一个位置,可以直接使用ReplaceChild方法,
1、XMLNode可以通过XMLDocument.CreateElement("节点名字")构建,如果插入节点存在child元素,则递归创建即可,
2、如果给节点添加属性,同样可以通过 XmlAttribute attr = XmlDocument.CreateAttribute("属性名称"),
attr.InnerText="属性值"创建,
并调用XmlNode.Attributes.Append(attr)d的方式添加到新创建的节点中
在XmlNode中,有已经封装好的AppendChild、InsertBefore、InsertAfter、ReplaceChild方法可以实现你的需求(根据自身情况调用),
你那里的删除原有节点,重新添加,如果是在同一个位置,可以直接使用ReplaceChild方法,
1、XMLNode可以通过XMLDocument.CreateElement("节点名字")构建,如果插入节点存在child元素,则递归创建即可,
2、如果给节点添加属性,同样可以通过 XmlAttribute attr = XmlDocument.CreateAttribute("属性名称"),
attr.InnerText="属性值"创建,
并调用XmlNode.Attributes.Append(attr)d的方式添加到新创建的节点中
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询