c# - 如何使用 C# 在 XML 文档中添加新元素
问题描述
我需要的是向已经存在的 XML 文档添加一个新元素。这是 XML:
我需要的是将此元素添加到元素的末尾
<DATA>
<UBL21>true</UBL21>
<Partnership>
<ID>900430556</ID>
<TechKey>20c68c93ee595efaf227db3bc5d0e3416776bc487ec7058b9157c874eaa741a2</TechKey>
<SetTestID>dsfgsdghfsdgfsdfg</SetTestID>
</Partnership>
</DATA>
预期结果
这是我创建 xml 的方法
public void guardar_nuevo_xml(InvoiceType df, string numero_factura)
{
//Here start xml df is an object from which I serialize the xml
XmlSerializer x = new XmlSerializer(df.GetType());
//path for save new document
string path = @"C:\Users\moralesm\source\repos\Pruebas_Nilo\Nilo\xml\Factura" + numero_factura + ".xml";
//write the new xml
TextWriter writer = new StreamWriter(path);
// the new xml is serialized with an object
x.Serialize(writer, df);
}
解决方案
您可以像这样添加元素:
XDocument doc1 = XDocument.Load("Your Xml Path");
XElement dataElement = new XElement("DATA");
doc1.Root.Add(dataElement);
dataElement.Add(new XElement("UBL21", "true"));
XElement partnerShipElement = new XElement("Partnership");
dataElement.Add(partnerShipElement);
partnerShipElement.Add(new XElement("ID", "900430556"));
partnerShipElement.Add(new XElement("TechKey", "20c68c93ee595efaf227db3bc5d0e3416776bc487ec7058b9157c874eaa741a2"));
partnerShipElement.Add(new XElement("SetTestID", "dsfgsdghfsdgfsdfg"));
我的测试 XML:
<test>
<name>Hidayet</name>
</test>
新 XML:
<test>
<name>Hidayet</name>
<DATA>
<UBL21>true</UBL21>
<Partnership>
<ID>900430556</ID>
<TechKey>20c68c93ee595efaf227db3bc5d0e3416776bc487ec7058b9157c874eaa741a2
</TechKey>
<SetTestID>dsfgsdghfsdgfsdfg</SetTestID>
</Partnership>
</DATA>
</test>
保存新的 xml 文件:
doc1.Save("New Xml File Path");
推荐阅读
- bash - 通过 bash 环境导入 pandas 时出错
- ssms - SQL Server Management Studio 结果滚动
- ios - 执行展开转场时不需要的红线
- javascript - 如何将类添加到 html 中提交类型的输入,例如添加后不会被删除?
- angular - ngx-bootstrap - 找不到模块“ngx-bootstrap/component-loader”
- aws-lambda - AWS Cognito ListUsers 上的 502 和 PaginationToken
- python-3.x - 如何在 Spacy 短语匹配器中获取短语计数
- java - 为什么我们不像其他类一样使用 new 关键字来实例化文件系统类?
- android - 如何在画布上绘制可绘制对象?
- r - 设置 quantmod::chart_Series 的背景颜色