के रूप में शून्य हो रहा है यह वास्तव में अजीब है और मुझे डर है कि मैंने अभी कुछ गूंगा किया है लेकिन मैं इसे समझ नहीं सकता।एफ # कार्य करने के लिए कोई भी गुजर रहा है, पैरामीटर मान
मैं पहले पैरामीटर के रूप समारोह some
करने के लिए None
गुजर रहा हूँ, लेकिन जब फ़ंक्शन निष्पादित, parentNode
का मूल्य शून्य है (मैं इसे None
के लिए अशक्त मुद्रण के साथ संबंध नहीं कर रहा हूँ, समारोह पैरामीटर मान नहीं रिक्त है None
)। मैं प्रिंट फ़ंक्शन लाइन पर एक शून्य संदर्भ त्रुटि प्राप्त कर रहा हूं क्योंकि parentNode शून्य है। मैंने तर्कों को टुपल करने और ऑर्डर बदलने की कोशिश की है, लेकिन इससे मदद नहीं मिली। मुझे एक झुकाव संदेह है कि इसमें करी के साथ कुछ करना है लेकिन मुझे नुकसान हुआ है ...
मुझे कंपनी के मुद्दों के लिए एक खाली स्ट्रिंग के साथ वास्तविक यूआरएल मूल्य को प्रतिस्थापित करना था, लेकिन यह एक xsd का यूआरएल है कि अगर
में मदद करता है यहाँ कोड है:
#light
open System
open System.Xml
open System.Net
open System.Collections.Generic
type StartResult =
| Parameters of XsdParserParameters
| Xsd of Xsd
and Xsd(text) =
let rows = new List<string>()
member this.Text
with get() = text
member this.Rows
with get() = rows
and XsdParserParameters() =
let mutable url = ""
member this.Url
with get() = url
and set(value) = url <- value
member this.Start() =
try
use client = new WebClient()
let xsd = client.DownloadString(this.Url)
StartResult.Xsd(Xsd(xsd))
with e ->
StartResult.Parameters(this)
let processor() =
let parameters = XsdParserParameters()
parameters.Url <- ""
match parameters.Start() with
| StartResult.Parameters(xpparams) ->
//some error
()
| StartResult.Xsd(xsd) ->
let rec some (parentNode : XmlNode option) (node : XmlNode) =
let a =()
for subNode in node.ChildNodes do
match subNode.LocalName with
| "complexType" ->
xsd.Rows.Add(
sprintf
"%O~%s~%d~%d~%s~%s~%O"
parentNode
subNode.Value
1
1
(subNode.Attributes.GetNamedItem("name").Value)
""
false)
some (Some(subNode)) subNode
| "sequence" ->
some parentNode subNode
| "element" ->
xsd.Rows.Add(
sprintf
"%O~%s~%d~%d~%s~%s~%O"
parentNode
subNode.Value
1
1
(subNode.Attributes.GetNamedItem("name").Value)
""
false)
some (Some(subNode)) subNode
| _ ->
()
let xdoc = new XmlDocument();
xdoc.LoadXml(xsd.Text)
some (None) (xdoc.DocumentElement)
processor()
printfn "Done..."
Console.ReadLine() |> ignore
आपको किस पंक्ति पर शून्य संदर्भ अपवाद मिल रहा है? 'sprintf"% O "null' को ठीक काम करना चाहिए, और मुझे 'parentNode' के किसी अन्य संदर्भ को नहीं दिख रहा है, क्या आप वाकई यह कहां से आ रहे हैं? – Guvante