替换c#中的xml节点
本文关键字:节点 xml 中的 替换 | 更新日期: 2023-09-27 18:29:40
这是我的xml代码
<RuleDTO xsi:type="DefaultRuleDTO">
<RuleID>0</RuleID>
<Priority xsi:nil="true" />
<CreationDate>0001-01-01T00:00:00</CreationDate>
<Status>false</Status>
<USBStatus>false</USBStatus>
<PolicyID>0</PolicyID>
<EnfroceUserRule>true</EnfroceUserRule>
<DefaultRule>false</DefaultRule>
</RuleDTO>
这是另一个xml代码
<RuleDTO xsi:type="SizeRuleDTO">
<RuleID>23</RuleID>
<RuleName>test</RuleName>
<Description>sdf</Description>
<Priority xsi:nil="true" />
<CreatedBy>administrator</CreatedBy>
<CreationDate>2012-03-27T03:18:19</CreationDate>
<Status>true</Status>
<USBStatus>false</USBStatus>
<PolicyID>5</PolicyID>
<Size>4</Size>
</RuleDTO>
<RuleDTO xsi:type="DefaultRuleDTO">
<RuleID>0</RuleID>
<Priority xsi:nil="true" />
<CreationDate>0001-01-01T00:00:00</CreationDate>
<Status>false</Status>
<USBStatus>false</USBStatus>
<PolicyID>0</PolicyID>
<EnfroceUserRule>true</EnfroceUserRule>
<DefaultRule>false</DefaultRule>
</RuleDTO>
在这里,我想将第一个代码替换为具有特定节点和子节点的第二个代码。
我该怎么改?
你试过吗,
XElement first = ...
XElement second = ...
first.ReplaceWith(second);
你的意思是这样的吗?
XmlDocument xmlDoc = new XmlDocument();
XmlDocument xmlDoc2 = new XmlDocument();
xmlDoc.Load(xmlFile);
xmlDoc2.Load(xmlFile2);
XmlNode node = xmlDoc.SelectSingleNode("Root/RuleDTO/RuleID");
XmlNode node2 = xmlDoc2.SelectSingleNode("Root/RuleDTO[1]/RuleID");
XmlNode node3 = xmlDoc2.SelectSingleNode("Root/RuleDTO[2]/RuleID");
if (node != null && node2 != null && node3 != null)
node3.InnerText = node2.InnerText = node.InnerText;
xmlDoc2.Save(xmlFile2);