Al­ler plus loin avec la classe NSXMLPAR­SER

L'Informaticien - - SOLUTIONS IT -

Cette classe cor­res­pond à l’ana­ly­seur XML in­té­gré au kit SDK d’iOS. D’autres par­sers peuvent être em­ployés à sa place, tel que Libxml2, le par­ser XML C dé­ve­lop­pé pour le pro­jet Gnome. Néan­moins, leur in­té­gra­tion peut être re­la­ti­ve­ment com­plexe, Apple oblige. Le sou­ci qui peut se po­ser avec NSXMLPar­ser tient en ce qu’il n’est pas orien­té ar­bo­res­cence, c’est-à-dire qu’il ne crée pas au­to­ma­ti­que­ment le graphe des ob­jets. Il est néan­moins pos­sible de l’uti­li­ser de cette ma­nière. Pour ana­ly­ser des don­nées XML simples, les mé­thodes dé­lé­guées pré­sen­tées jus­qu’ici sont suf­fi­santes. Les don­nées XML plus com­plexes com­prennent des at­tri­buts d’élé­ments, des es­paces de noms, des blocs CDATA et d’autres en­ti­tés né­ces­si­tant une ges­tion spé­ci­fique. NSXMLPar­ser peut pour­tant s’en char­ger. Le pro­to­cole NSXMLPar­serDe­le­gate pro­pose de nom­breuses mé­thodes de prise en charge de presque tout type de code XML. Voyons l’exemple sui­vant : <?xml ver­sion="1.0" en­co­ding="utf-8"?> <contai­ner ver­sion="2.0" xmlns:foo="ABC">

<foo:item at­tri­bute1="At­tri­butUn" at­tri­bute2="At­tri­butDeux"></item> </contai­ner> L’ana­ly­seur dé­tecte l’élé­ment foo:item et trans­met alors les va­leurs des pa­ra­mètres sui­vants à la mé­thode dé­lé­guée : - le pa­ra­mètre élé­ment, qui vaut ici "item". Seul le nom de l’élé­ment est conser­vé, l’es­pace de noms est igno­ré ; - na­mes­pa­ceURI vaut "ABC". Le nom de l’élé­ment cor­res­pond à item et est si­tué dans l’es­pace de noms nom­mé foo pos­sé­dant la va­leur nom­mée "ABC" ; - l’élé­ment qua­li­fiedName vaut "foo:item" ; - l’élé­ment at­tri­butes cor­res­pond à un dic­tion­naire conte­nant 2 clefs nom­mées at­tri­bute1 et at­tri­bute2 ayant res­pec­ti­ve­ment comme va­leurs "At­tri­butUn" et "At­tri­butDeux". La ré­so­lu­tion des che­mins Xpath n’est, en re­vanche, pas ac­ces­sible à NSXMLPar­ser. Il va fal­loir trou­ver une autre bi­blio­thèque de fonc­tions pour ce­la. Pour plus d’in­for­ma­tions à ce su­jet, re­por­tez-vous à la do­cu­men­ta­tion Apple Tree-Ba­sed XML Pro­gram­ming Guide.

Newspapers in French

Newspapers from France

© PressReader. All rights reserved.