我需要在c#中从数组列表创建xml文件,这样工作正常。我不需要在xml中为记录创建节点,其值为#in record。所以说如果#是这样的话,那就不要创建节点,但是如果数组列表中的值是#以外的字符串,那么创建节点并在其中存储值。
非常感谢public void generateXMLFile(List<UWL> myList )
{
XDocument objXDoc = new XDocument(
new XElement("Institution",
new XElement("RECID", myList[0].recid),
new XElement("UKPRN", myList[0].UKPRN),
myList.Select(m => new XElement("Person",
new XElement("STAFFID", m.STAFFID),
new XElement("OWNSTAFFID", m.OWNSTAFFID),
new XElement("ACTCHQUAL", m.ABLWELSH)
)
)
)
);
objXDoc.Declaration = new XDeclaration("1.0", "utf-8", "true");
//
objXDoc.Save(@"C:\Test\generated.xml");
//Completed.......//
MessageBox.Show("Process Completed......");
}
答案 0 :(得分:1)
不确定#表示什么,但是说它是Person中的值之一。在我的示例中,我选择了STAFFID,但它可能是您希望过滤的UWL对象中的任何其他值或其他值:
将您的myList.Select
更改为:
myList
.Where(m => m != null)
.Where(m => m.STAFFID != value)
.Select(m => new XElement("Person",
new XElement("STAFFID", m.STAFFID),
new XElement("OWNSTAFFID", m.OWNSTAFFID),
new XElement("ACTCHQUAL", m.ABLWELSH)
)
)