我正在修改一些遗留代码,需要使用C#解析/写入XML。我正在尝试设置嵌套元素的值但是没有任何乐趣。它应该很简单,但我不确定我做错了什么。
以下是XML模板:
<my:productReport>
<my:productId>1</my:productId>
<my:company>MyCompany</my:company>
<my:productPerson>
<my:productPersonId xsi:nil="true"></my:productPersonId>
<my:productPersonName></my:productPersonName>
</my:productedBy>
</my:productReport>
我可以设置公司没问题:
XElement companyEle = doc.Root.Element(myNameSpace + "company");
companyEle.Value = value;
但是如何添加产品人员ID和姓名?可以添加多个personID / personName元素。
答案 0 :(得分:2)
//Get collection of productPerson elements
IEnumerable<XElement> prodPersons = productReport.Elements("productPerson");
foreach(XElement pp in prodPersons)
{
//Set values
pp.Element("productPersonId").Value = "1";
pp.Element("productPersonName").Value = "xxx";
}
//Add a productPerson element
XElement prodPersonEle =
new XElement("productPerson",
new XElement("productPersonId","3"),
new XElement("productPersonName", "Somename")
);
//Add prodPersonEle to whatever parent it belongs.