1

我需要从 c# 中的数组列表创建 xml 文件,这工作正常。我不需要在 xml 中为记录中的值即将到来的记录创建节点 # 在记录中。例如,如果 # 是这样,则不要创建节点,但如果数组列表中的值来自 # 以外的字符串,则创建节点并将值存储在其中。

非常感谢

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......");
}
4

1 回答 1

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)
             )                      
          )
于 2013-10-04T14:15:02.243 回答