2009-08-27 32 views
1

我創建的webservice默認返回XML,我添加了我自己的XML節點,我需要在不同的應用程序(Nintex)中查詢。我用Xpath來做。但我似乎無法得到我想要的結果...從C#webservice和/或xpath查詢輸出xml的問題

public class Service1 : System.Web.Services.WebService 
{ 
    public struct aduser 
    { 
     public String result; 
     public String username; 
     public String email; 
     public String password; 
    } 

    [WebMethod] 
    public aduser CreateADUser(string domain, ... 

    ... 
    ... 
    ... 

    user.result = "Succes"; 
    user.username = loginName; 
    user.email = emailAddress; 
    user.password = password; 

    return user; 
} 

結果我得到的是

<xml> 
    <result xmlns="http://dev01/">Succes</result> 
    <username xmlns="http://dev01/">test0101</username> 
    <email xmlns="http://dev01/">[email protected]</email> 
    <password xmlns="http://dev01/">somepassword</password> 
</xml> 

所以當我嘗試做提取例如結果值/ XML /結果它不工作,我不能讀出值或做調試,因爲Nintex不會讓我......我已經嘗試了很多不同的xpath查詢,但沒有給出我想要的結果,任何想法,米做錯了嗎?

這可能是一個rookieproblem但我真的被困在這裏:-(

+0

你能展示一小段代碼讓我們知道你在做什麼嗎? – 2009-08-27 10:22:00

+0

好吧,上面的代碼是我用於輸出的所有代碼,其餘(我沒有複製)只是代碼來填充這些變量... 我在Nintex中使用的是「/ xml/result/text() 「,這個查詢是我在Liquid XML Studio中通過試驗和錯誤創建的,我從webservice獲得的初始XML輸出... 我認爲它與缺少命名空間有關... – erik404 2009-08-27 11:57:48

回答

3

我不知道Nintex產品的任何東西,但你的問題是你需要告知你正在使用有關「http://dev01/任何XPath處理「命名空間。

典型地,這是通過使用命名空間管理器對象和相關聯的XPath處理器或執行中的XPath當作爲參數傳遞來完成。

命名空間管理器持有的命名空間的列表,並且被用於別名因此在這個例子中,你可以把t關聯起來他用「http://dev01/」替代了「a」。您的XPath將變爲: - /xml/a:result。通過這裏的一個想法是它在C#中的樣子(如何移植到您的Nintex工具,我不知道)。

XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); 
nsmgr.AddNamespace("a", "http://dev01/"); 
XmlNode resultNode = doc.SelectSingleNode("/xml/a:result", nsmgr); 
+0

thnx爲答案,我會試着在我的應用程序中建立這個! – erik404 2009-08-27 12:01:33

0

的C#代碼不能用於解析XML輸出Nintex因爲Nintex「調用Web服務」行動中的SharePoint GUI(以及所有其他行動)配置,所以我真的不認爲以前的答案是某種相關性。

要找出您的Web服務的輸出如何看起來像Nintex你可以用下面的博客文章介紹的方法: http://vtonms.blogspot.com/2009/12/nintex-workflow-web-service-xml-result.html

當你得到一個印象,你實際上是在您的工作流程變量從網上獲取服務,您可以輕鬆使用「查詢XML」集成操作從XML獲取所需的詳細信息。希望這可以幫助。祝你好運!

+0

上面的鏈接不起作用,您是否可以描述解決方案? – Mahen 2015-05-18 08:04:54

+0

五年前,記得有點晚了 – 2015-05-18 08:18:48