我對所看到的內容感到有點困惑,因此轉向了SO。字符串到XNamespace在BizTalk業務流程內的隱式轉換
我正在開發一個BizTalk(2010)編排,我想解析傳入的XML消息。我只需要檢索特定節點重複的次數。我本可以使用XPath。但是,我選擇使用LinqToXml。
我已經創建了一個System.Xml.Linq.XNamespace
類型的變量,並且在表達式形狀中,我將它賦值爲一個字符串值..例如http://mycompany/v1.0
。這是一個非常有效的C#語句,因爲存在從String到XNamespace的隱式轉換(MSDN link)。
但是Orchestration根本不會編譯。我得到這個錯誤cannot implicitly convert type System.String to System.Xml.Linq.XNamespace
。
如果我不使用的XNamespace變量,直接傳入消息運行LinqToXml這樣
MessageCount = MyXElement.Elements("{http://mycompany/v1.0}ListOfNotifications").Elements("{http://mycompany/v1.0}Notification").Count();
我得到一個cannot convert from String to XName
錯誤。即使這是混亂。
我正在使用BizTalk 2010和C#4.0。有人可以解釋我是否錯過了一些東西嗎?我已經使用LinqPad嘗試了所有這些代碼片段,並得到了預期的響應。所以,沒有錯別字或缺少參考。
** ListOfNotifications **是否有多個實例? – user1826905
@ user1826905:沒有。只有一個 –
不在您的XML中,在您的模式中。那個元素是如何定義的?它是無界的嗎? – user1826905