2011-07-29 22 views
0

我有關於XMLReader輸出的問題,它應該能夠將任何SOAP-Result解析到NSDictionary中。iphone XMLReader SOAP-Response解析

當我經歷的結果我得到如下:

重點:的SoapEnvelope,值:{的XML文件到最後的休息,所有的標籤,但它似乎是一個很長的字符串}

我在做什麼錯在這裏,因爲我希望得到一個NSDictionary與我所有的XML標籤作爲關鍵?

編輯:既然I'm工作,並試圖理解這一點,因爲日子裏,我可能是完全錯誤的方向,所以如果可能的話......我here's XML:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
<soap:Body> 
    <GetData2Response xmlns="http://tempuri.org/"> 
     <GetData2Result> 
      <NoOfObjectsDetected>1</NoOfObjectsDetected> 
      <RectanglesForPicture> 
       <Rectangle> 
        <Location> 
         <X>90</X> 
         <Y>14</Y> 
        </Location> 
        <Size> 
         <Width>352</Width> 
         <Height>352</Height> 
        </Size> 
        <X>90</X> 
        <Y>14</Y> 
        <Width>352</Width> 
        <Height>352</Height> 
       </Rectangle> 
      </RectanglesForPicture> 
      <ReturnMessage>Juhu!</ReturnMessage> 
     </GetData2Result> 
    </GetData2Response> 
</soap:Body> 

當我想讓我們說一個int的NoOfObjectsDetected - 我必須做什麼? (It's愚蠢,我知道...但I'm失去ATM ... THX)

回答

0

你解析的NSXMLParser的幫助?這裏是方法。創建一個可變數組來存儲xml的內容。在委託方法中執行以下操作:

nsmutablearray noOfObjetcsArray; nsstring elementNameStr;

- (無效)解析器:(的NSXMLParser *)解析器didStartElement:(的NSString *)的ElementName的namespaceURI:(的NSString *)的namespaceURI 的qualifiedName:(的NSString *)QNAME屬性:(的NSDictionary *)atributeDict

{

如果([的ElementName isEqualToString:@ 「NoOfObjectsDetected」])

{

noOfObjetcsArray = [NSMutableArray裏的alloc] initwithcapacity:0];

elementNameStr = elementName;

}

}

- (無效)解析器:(的NSXMLParser *)解析器foundCharacters:(的NSString *)串

{

如果([elementNameStr isEqualToString:@「NoOfObjectsDetected 「])

{

[noOfObjetcsArray addObject:string]; 

}

}


解析時

完成U將得到數組中的內容。因爲ü希望它作爲一個int值,無論u使用該值強制給:

[noOfObjetcsArray objectAtIndex:0]的intValue]

這將字符串轉換爲int值。這就是你可以得到價值的方式。嘗試一下。

一切順利:)

}

+0

就是這樣!謝謝! – Schwennz

0
[self.elementsValues setObject:self.currentElementValue forKey:elementName]; 

這裏elementsValues是的NSMutableDictionary的類型。 currentElementsValue是當前標籤的值。而elementName是當前標籤。免費提問,如果這不明確

+0

由於I'm工作,並試圖理解這一點,因爲日子裏,我可能是完全錯誤的方向,因此,如果可能的... here's我的代碼: – Schwennz

+0

對不起,編輯上面的xml – Schwennz

+0

首先,你需要閱讀關於xml解析的教程.http://stackoverflow.com/questions/2005448/how-to-use-nsxmlparser-to-parse-parent-child-elements-那有同名 – Harsh