我正在学习 F#,并尝试编写一个简单的 XML 解析器。在 C# 中,我可以轻松地使用 + 运算符来组合命名空间和名称,但在 F# 中却不行。我在下面代码的最后一行收到以下错误:
Error 1 Type constraint mismatch. The type
XName
is not compatible with type
string
The type 'XName' is not compatible with the type 'string'
这是代码。编译器不喜欢“ns + d”。
let parse(pageResult: DownloadPageResult) =
if pageResult.ErrorOccured then 0
else
let reader = new StringReader(pageResult.Source)
let doc = XDocument.Load(reader)
let ns = XNamespace.Get("a")
let d = XName.Get("entry")
doc.Elements(ns + d) |> Seq.length
知道为什么我会看到这个吗?谢谢!