2012-04-04 52 views
2

我正在使用FogBugz XML API但我遇到問題。我可以通過我的應用程序創建新案例,打開創建的案例,搜索案例等。問題在於得到有效載荷的時候,我可以使用下面的代碼獲得的情況下身體:FogBugz XML API(個案:)

 string fbToken = LogOnFogBugz(); 
     string param = ""; 

     param += "cmd=search"; 
     param += "&token=" + fbToken; 
     param += "&q="+ "appID["+appID+"]"; 
     param += "&cols=sTitle,sStatus,sLatestTextSummary"; 

     HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(fbUrl + param); 
     httpWebRequest.Method = WebRequestMethods.Http.Post; 
     httpWebRequest.Accept = "application/xml"; 
     httpWebRequest.ContentLength = 0; 

     HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse(); 
     StreamReader streamReader = new StreamReader(response.GetResponseStream()); 
     XDocument doc = XDocument.Load(streamReader); 

var cases = from c in doc.Descendants("case") 
        select new 
         { 
          CaseNumber = c.Attribute("ixBug").Value, 
          CaseTitle = (string)c.Element("sTitle"), 
          CaseStatus = (string)c.Element("sStatus"), 
          CaseText = (string)c.Element("sLatestTextSummary") 
         }; 

,但如果我編輯的情況下,並添加文本到它,我只得到最後輸入的文本( sLatestTextSummary)意味着。

如何從使用XML API的案例中獲取整個文本。

實施例:

用xxx XXX 2012/4/4(今天)上午10點31 打開------------------- ------>等等等等等等

用xxx XXX 2012/4/4分配給XXX XXXX(今天)上午10點31

用xxx XXX編輯2012/4/4(今天)2 :00 PM ---------------------------->新文本。

我只得到{new text}

在此先感謝。

埃德

回答

1

您要包括events爲您cols參數之一。 然後對於每種情況,您還必須迭代事件才能從中獲取文本。

+0

謝謝你指出我正確的方向。我錯過了有效載荷上的(Element)。 – EdMore 2012-04-05 14:53:29

+0

這裏值得指出的是,如果你只需要「Opened by」或「Edited by」而不是事件的實際「Blah Blah」文本,那麼你就需要使用'minievents'。這將節省時間和服務器負載。 – 2012-04-09 13:23:45