3

比較的大量の XML データを解析する必要があるため、TBXMLParser. そして、私はそれにかなり慣れていません。以下は、XML 形式のサンプルです。

<item>
<title> Test XML</title>
<link>http://www.google.com</link>
<media:content url="http://blog.directorymaximizer.com/wp-content/uploads/2012/09/google.jpg" medium="image">
    <media:title type="html”&gt;Google</media:title>
</media:content>

<media:content url="http://icons.iconarchive.com/icons/fasticon/web-2/256/Google-icon.png" medium="image">
    <media:title type="html”&gt;Google-Png</media:title>
</media:content>

<media:content url="http://icons.iconarchive.com/icons/fasticon/web-2/256/Google-icon.png" medium="image">
<media:title type="html”&gt;Google-Png</media:title>
</media:content>
</item>


and it goes on...

2 番目の URL ='Have to...' の値を取得したい。

TBXMLElement *iconElement = [TBXML childElementNamed:@"Image" parentElement:element];
strIcon = [TBXML valueOfAttributeNamed:@"url" forElement:iconElement];

これは私が試したコードです。これを使用して、最初のurl属性値を取得できました。どんな提案でも大歓迎です。ありがとうございました :)

4

2 に答える 2

0

2 番目のノードの値を取得するには.. 編集したサンプル データに基づいて..

TBXML *tbxml = [TBXML tbxmlWithURL:[NSURL URLWithString:yourXMLString]];  //replace yuorXMLString with your string
TBXMLElement * root = tbxml.rootXMLElement;

// if root element is valid


if (root != nil) {
    TBXMLElement * element = [TBXML childElementNamed:@"item" parentElement:root];

         TBXMLElement *node= [TBXML childElementNamed:@"media:content" parentElement:element];
          TBXMLElement *secondNode= [TBXML nextSiblingNamed:@"media:content" searchFromElement:node];
        NSLog(@"the second url name is : %@",[TBXML valueOfAttributeNamed:@"url" forElement:secondNode]);

}
于 2012-09-25T09:12:35.997 に答える
0
TBXML *tbxml = [TBXML tbxmlWithURL:[NSURL URLWithString:yourXMLString]];  //replace yuorXMLString with your string

    TBXMLElement * root = tbxml.rootXMLElement;

    // if root element is valid
    if (root!=nil) {

        TBXMLElement * element = [TBXML childElementNamed:@"item" parentElement:root];

        while (element != nil) {
TBXMLElement *iconElement = [TBXML childElementNamed:@"Image" parentElement:element];
strIcon = [TBXML valueOfAttributeNamed:@"url" forElement:iconElement];

    }
}

これが機能することを願っています??

于 2012-09-24T12:49:58.197 に答える