这个c#代码可能不是最有效的,但得到了我想要完成的。
如何在F#代码中完成同样的事情?
string xml = " <EmailList> " + " <Email>test@email.com</Email> " + " <Email>test2@email.com</Email> " + " </EmailList> "; XmlDocument xdoc = new XmlDocument(); XmlNodeList nodeList; String emailList = string.Empty; xdoc.LoadXml(xml); nodeList = xdoc.SelectNodes("//EmailList"); foreach (XmlNode item in nodeList) { foreach (XmlNode email in item) { emailList += email.InnerText.ToString() + Environment.NewLine ; } }
let doc = new XmlDocument() in doc.LoadXml xml; doc.SelectNodes "/EmailList/Email/text()" |> Seq.cast<XmlNode> |> Seq.map (fun node -> node.Value) |> String.concat Environment.NewLine
如果你真的想要最后一个换行符,你可以添加它在地图和String.concat与空字符串。