如何使用Xcode从服务器读取Web服务?

时间:2012-05-14 18:20:43

标签: iphone objective-c ios xml xcode

![我尝试使用Xcode读取xml文件,但它在String中给出响应,xml将在下面的图像中显示,并且它给出<和>代表<和>] [1]

我正在尝试从服务器上读取mywebservice。我写了一个web服务,它在网站的xml formate中创建文件。 当我在网站上检查该文件时,它显示如下:

<NewDataSet>
  <Table>
    <Column1>Audi</Column1>
  </Table>
  <Table>
    <Column1>BMW</Column1>
  </Table>
  <Table>
    <Column1>MINI</Column1>
  </Table>
</NewDataSet>

但是当我通过soap调用该文件时,它会给出以下响应:

&lt;NewDataSet&gt;
  &lt;Table&gt;
 &lt;Column1&gt;Audi&lt;/Column1&gt;
 &lt;/Table&gt;
  &lt;Table&gt;
 &lt;Column1&gt;BMW&lt;/Column1&gt;
 &lt;/Table&gt;
 &lt;Table&gt;
 &lt;Column1&gt;MINI&lt;/Column1&gt;
 &lt;/Table&gt;
&lt;/NewDataSet&gt;

但是我无法读取像'NewDataSet'这样的标签,因为它在String中给出了回复,我是XML的新手,所以请帮助我..我使用Xcode和nsmutabledata ... !! 我尝试过stringbyReplaceofOccurance但它没有用&lt;&lt;&amp;&amp; gt替换&lt;取代。 在此先感谢。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

使用TouchXML的最佳读取xml文件方式....对于TouchXML,请使用此下面的链接

http://dblog.com.au/general/iphone-sdk-tutorial-building-an-advanced-rss ...

也在这里,当你得到回应,然后其他方式,你可以阅读如下使用TouchXML .. 即..

- (void) fetchDataSuccessforEvent:(NSMutableData *)data
{
    CXMLDocument *doc = [[[CXMLDocument alloc] initWithData:data options:0 error:nil] autorelease];
    NSArray *nodes = [doc nodesForXPath:@"//Table" error:nil];

    for (CXMLElement *node in nodes) 
    {


        for(int counter = 0; counter < [node childCount]; counter++) 
        {
            if ([[[node childAtIndex:counter] name] isEqualToString:@"Column1"]) 
            {
                NSString *string = [[node childAtIndex:counter] stringValue];
                                NSLog(@"\n\n Title %@",string);

            }

        }


    }

}

这么容易...... 希望,这有助于你.... :)

答案 2 :(得分:0)

这不是解析问题。检查Web服务并确保xml标头是:<?xml version="1.0" encoding="utf-8"?>或类似的东西。