c# - 如何使用 C# 替换 XML 文件中的标签名称?

标签 c# xml replace

我是 XML 新手,所以这可能是一个简单的问题。 我有一个 XML 文件,结构如下。

<root>
 <Test>
   <EmpID>23</EmpID>
   <EmpName>Packman</EmpName>
   <EmpAge>33</EmpAge>
 </Test>
 <Test>
   <EmpID>34</EmpID>
   <EmpName>James</EmpName>
   <EmpAge>13</EmpAge>
 </Test>
 <Test>
   <EmpID>53</EmpID>
   <EmpName>Nedved</EmpName>
   <EmpAge>52</EmpAge>
 </Test>
<root>

我想替换 XML 文件中的一些元素,如下所示

<root>
 <Test>
   <EmpID name="ID">23</EmpID>
   <EmpName name="Nickname">Packman</EmpName>
   <EmpAge name = "Age">33</EmpAge>
 </Test>
 <Test>
   <EmpID name="ID">34</EmpID>
   <EmpName name="Nickname">James</EmpName>
   <EmpAge name = "Age">13</EmpAge>
 </Test>
 <Test>
   <EmpID name="ID">53</EmpID>
   <EmpName name="Nickname">Nedved</EmpName>
   <EmpAge name = "Age">52</EmpAge>
 </Test>
</root>

所以基本上我想重新添加或添加?元素到属性。

例如)

<EmpID>value</EmpID> to <EmpID name="ID">value</EmpID>

我尝试了一些引用资料,但它们对我不起作用。 下面是我尝试过的,但它取代了整行。

XDocument xdoc1 = XDocument.Load("C:\\Test\\Test.xml");
XElement one = xdoc1.Descendants("EmpID").First();
one.ReplaceWith("EmpID name=NickName");
xdoc1.Save("C:\\Test\\Test_Modified.xml");

该点是中心“值”不应改变。见下文。

<EmpID>value</EmpID> to <EmpID name="ID">value</EmpID>

请给我一些解决这个问题的想法。

最佳答案

您所要做的就是设置 attribute :

one.SetAttributeValue("name", "ID");

关于c# - 如何使用 C# 替换 XML 文件中的标签名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16162433/

相关文章:

c# - 此工作流无法运行,因为父工作流提供的参数与链接的子工作流中的指定参数不匹配

ruby - 如何构建 <scp :price unit ='USD' >25</scp:price> in Nokogiri XML Builder

javascript - 如何正确使用 XSLTProcessor 向现有 html 页面填写表格(或添加独立元素)?

android - 以编程方式创建 FloatingActionButton(无 xml)

Ruby 用捕获的正则表达式模式替换字符串

c# - 获取 CoreCLR 中的可用类型

c# - C# 错误中的 Dijkstra 算法

c# - 从 C# 代码显示 ASP 内容中的文本

Mysql (php) 在一个查询中更新或替换购物袋内容,具有多个值

javascript - 如何用 Greasemonkey 的用户脚本替换 JSON 字符串中的文本