2

次のような XML 構造があります。

<Succeeded p1:type="Edm.Boolean" xmlns:p1="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">false</Succeeded>

属性を取得できるようにする必要があるためp1:type="Edm.Boolean"、名前空間のプレフィックスは、制御できないいくつかの力によって異なる場合があります。プログラムで名前空間 URI からプレフィックスを取得する方法を理解する必要があります。

parser:didStartMappingPrefix:toURI:メソッドとparser:didEndMappingPrefix:デリゲート メソッドを実装しました。YESsetShouldProcessNamespacesに設定しましたが、呼び出されません。

私は NSXMLParser は初めてですが、iOS や XML は初めてです。これについてどうすればよいかについての指示は大歓迎です。

4

1 に答える 1

3

デリゲート メソッドの実装と呼び出しsetShouldProcessNamespaces:YESに加えて、setShouldReportNamespacePrefixes:YESも呼び出す必要があります。

この変更により、両方の「プレフィックス」プロトコル メソッドが呼び出されるようになります。そこで、名前空間 URI とプレフィックスを取得し、必要に応じて使用できます。

于 2012-06-08T11:12:54.807 に答える