首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回空的TFHpple XML

返回空的TFHpple XML
EN

Stack Overflow用户
提问于 2012-05-22 14:15:20
回答 1查看 688关注 0票数 0

我在使用TFHpple和执行基本的XML查询时遇到了问题。我已经包含了代码和XML响应。我有一个MutableArray,它存储返回的数据,然后存储NSLog。在解析HTML页面时,下面的代码对我来说很好(当然,我使用了initWIthHTMLData:代替)。任何帮助都将不胜感激。

代码语言:javascript
复制
 NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL     
 URLWithString:@"http://api.wmata.com/Rail.svc/Stations?     
 LineCode=RD&api_key=---------------------------"]];

// Create parser
TFHpple *xpathParser = [[TFHpple alloc] initWithXMLData:data]; //using XML data

//Pass in the search path
NSArray *elements  = [xpathParser  searchWithXPathQuery:@"//Name"];


// Access the first cell
if([elements count] > 0) {

    TFHppleElement *element = [elements objectAtIndex:0];

    // Get the text within the cell tag
    NSString *content = [element content];

    if (content) {
        //NSLog(@"%@", content);
        self.linkElements = [elements copy];

    }else{
        NSLog(@"No string found in the content");
    }


}else{
    NSLog(@"Nothing was found for your search query");
}


NSLog(@"The following is the result of the link elements array: %@", self.linkElements);

以下是xml响应示例:

代码语言:javascript
复制
 <StationsResp xmlns="http://www.wmata.com" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Stations>
<Station>
  <Code>C02</Code>
  <Lat>38.9013327968</Lat>
  <LineCode1>BL</LineCode1>
  <LineCode2>OR</LineCode2>
  <LineCode3 i:nil="true" />
  <LineCode4 i:nil="true" />
  <Lon>-77.0336341721</Lon>
  <Name>McPherson Square</Name>
  <StationTogether1 />
  <StationTogether2 />
</Station>
<Station>
  <Code>C01</Code>
  <Lat>38.8983144732</Lat>
  <LineCode1>BL</LineCode1>
  <LineCode2>OR</LineCode2>
  <LineCode3 i:nil="true" />
  <LineCode4 i:nil="true" />
  <Lon>-77.0280779971</Lon>
  <Name>Metro Center</Name>
  <StationTogether1>A01</StationTogether1>
  <StationTogether2 />
</Station>
<Station>
  <Code>A01</Code>
  <Lat>38.8983144732</Lat>
  <LineCode1>RD</LineCode1>
  <LineCode2 i:nil="true" />
  <LineCode3 i:nil="true" />
  <LineCode4 i:nil="true" />
  <Lon>-77.0280779971</Lon>
  <Name>Metro Center</Name>
  <StationTogether1>C01</StationTogether1>
  <StationTogether2 />
</Station>
...
EN

回答 1

Stack Overflow用户

发布于 2012-11-28 15:45:34

使用此示例XML:

代码语言:javascript
复制
<?xml version="1.0"?>
<Station>
  <Code>C02</Code>
  <Lat>38.9013327968</Lat>
  <LineCode1>BL</LineCode1>
  <LineCode2>OR</LineCode2>
  <LineCode3 i:nil="true" />
  <LineCode4 i:nil="true" />
  <Lon>-77.0336341721</Lon>
  <Name>McPherson Square</Name>
  <StationTogether1 />
  <StationTogether2 />
</Station>

[element content][element text],这是我的输出:

McPherson广场

看来你可以用[element text]了。Please refer to this similar question/answer

希望能帮上忙。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10703885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档