本人已经收到xml包,并转换好了,xml现在是下面的文本。<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><ns1:getPartListResponse xmlns:ns1="http://services.fgseh.com">
<ns1:out><RS><c>1</c><D><P>
<pn>实话实说</pn>
<id>01001001</id>
<ds>关注人性、关注社会民生。</ds>
<tn>361963</tn>
<rn>2375164</rn>
<sn>133680293</sn>
</P><P>
<pn>疯狂贴图</pn>

</P></D></RS></ns1:out></ns1:getPartListResponse></soap:Body></soap:Envelope>我想把每个p标签里面的数据,都放到一个字典类型里面。然后把字典类型的实例都放到一个数组中去,我用的是kissxml。下面贴语句。-(void)kissXMLForString1:(NSString *)xmlString
{
        DDXMLDocument *xmlDoc = [[DDXMLDocument alloc]initWithXMLString:xmlString options:0 error:nil];
        
        NSArray *items = nil;//临时存放数据
        NSDictionary *Dict = nil;
        
        items = [xmlDoc nodesForXPath:KP error:nil];
        NSLog(@"%@",KP);
        NSLog(@"%@",items);
        for (DDXMLElement *item in items) {
                Dict = [item attributesAsDictionary];
                NSLog(@"%@",Dict);
                [Allarray addObject:Dict];
                //NSString *sss = [[item attributeForName:@"pn"] stringValue];
                //NSLog(@"%@",sss);
        }
}
语句很简单,可是items里面却没有数据,求各位大侠帮帮忙,我怎么才能解析到数据,并放到allarray里面!!!
多谢!

解决方案 »

  1.   

    kissxml。。没用过啊。。都是用这个吧。。public List<UserManager> toParserUserXml(InputStream is) {
    String xml = inputToString(is);
    SAXParserFactory saxPraseFactory = SAXParserFactory.newInstance();
    infos = new ArrayList<UserManager>();
    try {
    XMLReader xmlReader = saxPraseFactory.newSAXParser().getXMLReader();
    UserNumContentHandler userContentHandler = new UserNumContentHandler(
    infos);
    xmlReader.setContentHandler(userContentHandler);
    xmlReader.parse(new InputSource(new StringReader(xml)));
    // for (Iterator iterator = infos.iterator(); iterator.hasNext();) {
    // UserManager um = (UserManager) iterator.next();
    // result[index++] = um.getName();
    // }
    } catch (Exception e) {
    e.printStackTrace();
    }
      

  2.   

    TouchXML  我用的是这个,网上介绍的也很多,楼主试试这个吧
      

  3.   

    额,最后还是用自带的nsxmlparser解决了。
    真是服了,真麻烦!
    谢谢大家!
      

  4.   

    items = [xmlDoc nodesForXPath:KP error:nil];
    这个KP是什么东西啊?
    我感觉这个KP应该换成@"P"或者@"//P"试下,这样才能获取到<P>的个数,也就是你items的count
      

  5.   

    楼主,你好,我也遇到你同样的问题:比如:
    <P>
    <pn>实话实说</pn>
    <id>01001001</id>
    <ds>关注人性、关注社会民生。</ds>
    <tn>361963</tn>
    <rn>2375164</rn>
    <sn>133680293</sn>
    </P> 要取得<P>标签的string字符串你是怎么做到的呢?感觉用自带的nsxmlparse好像很麻烦,我也还不知道怎么用了,或者有木有简单点的方法?传授一下,谢谢~~