iphone XMLReader SOAP响应解析

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

关于XMLReader的输出,我遇到了一些问题,它应该能够将任何SOAP结果解析到NSDictionary中

当我查看结果时,我得到以下结果:

Key:soapEnvelope,Value:{xml文件的其余部分结束,带有所有标记,但它似乎是一个长字符串}

既然我希望得到一个包含所有XML标记的NSDictionary作为密钥,那么我在这里做错了什么


编辑:因为我从几天开始就在工作并试图理解这一点,我可能完全走错了方向,所以如果可能的话。。。以下是我的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];