iphone XMLReader SOAP响应解析
关于XMLReader的输出,我遇到了一些问题,它应该能够将任何SOAP结果解析到NSDictionary中 当我查看结果时,我得到以下结果: Key:soapEnvelope,Value:{xml文件的其余部分结束,带有所有标记,但它似乎是一个长字符串} 既然我希望得到一个包含所有XML标记的NSDictionary作为密钥,那么我在这里做错了什么iphone XMLReader SOAP响应解析,iphone,soap,xml-parsing,xmlreader,Iphone,Soap,Xml Parsing,Xmlreader,关于XMLReader的输出,我遇到了一些问题,它应该能够将任何SOAP结果解析到NSDictionary中 当我查看结果时,我得到以下结果: Key:soapEnvelope,Value:{xml文件的其余部分结束,带有所有标记,但它似乎是一个长字符串} 既然我希望得到一个包含所有XML标记的NSDictionary作为密钥,那么我在这里做错了什么 编辑:因为我从几天开始就在工作并试图理解这一点,我可能完全走错了方向,所以如果可能的话。。。以下是我的XML: <soap:Envelop
编辑:因为我从几天开始就在工作并试图理解这一点,我可能完全走错了方向,所以如果可能的话。。。以下是我的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>
1.
90
14
352
352
90
14
352
352
巨虎!
当我想让NoOfObjectsDetected在一个int中时,我到底要做什么?(这很愚蠢,我知道……但我迷路了……thx)
这里elementsValues是NSMutableDictionary的类型。currentElementsValue是当前标记的值。elementName是当前标记。如果不清楚,可以自由提问您是否在NSXMLParser的帮助下进行u解析??这里是方法。创建一个可变数组来存储xml的内容。在委托方法中,执行以下操作: nsmutablearray noOfObjetcsArray; nsstring elementNameStr -(void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI 限定名称:(NSString*)qName属性:(NSDictionary*)atributeDict { if([elementName IsequalString:@“NoOfObjectsDetected”]) { noOfObjetcsArray=[nsmutablearray alloc]initwithcapacity:0] elementNameStr=elementName } } -(void)解析器:(NSXMLParser*)解析器查找字符:(NSString*)字符串 { if([elementNameStr IsequalString:@“NoOfObjectsDetected”]) { } }
解析完成后,u将获得数组中的内容。由于您希望将其作为int值,因此无论您在何处使用该值,都会给出: [[NoofObjectCSArray对象索引:0]intValue] 这将把字符串转换为int值。这就是你获得价值的方法。试试看 祝你一切顺利:)
}由于我一直在工作,并且从几天开始就试图理解这一点,我可能完全走错了方向,所以如果可能的话。。。这是我的代码:对不起,上面为xmlFirst编辑了,您需要阅读关于xml解析的教程。好几次。还是输了。
[self.elementsValues setObject:self.currentElementValue forKey:elementName];
[noOfObjetcsArray addObject:string];