私は 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
なぜ私はこれを見ているのですか?ありがとう!