gpt4 book ai didi

ios - 尝试使用 NSXMLParser 委托(delegate)解析 NSData 时出错

转载 作者:行者123 更新时间:2023-11-28 22:33:43 25 4
gpt4 key购买 nike

我有一些包含 BASE 64 ENCODED PNG IMAGE 的 xml 我正在尝试将其解析为某种类型的对象.. 目前为 NSArray NSDictionaries,但是我目前没有成功。

这是我的解析委托(delegate)的一部分:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if([elementName isEqualToString:@"GUI"]){
parsedGUIMutableDictionary = [[NSMutableDictionary alloc] initWithDictionary:attributeDict];
}
}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{

if ([elementName isEqualToString:@"GUI"]) {
[parsedDataArrayOfDictionaries addObject:parsedGUIMutableDictionary];

}


}

完成后,字典中没有保存任何值,所以它只是空的...我在两个 if 语句和输入第一个 if 语句时都添加了一个断点attributeDict 为空。

这是 xml 的样子:

<IC>

<Reps>

<GUI>iVBORw0KGgoAAAANSUhEUgAAAiwAAAFKCAMAAAF+68SXAAADAFBMVEUAAAAAADMAAGYAAJkAAMwA

AP8AMwAAMzMAM2YAM5kAM8wAM/8AZgAAZjMAZmYAZpkAZswAZv8AmQAAmTMAmWYAmZkAmcwAmf8A

zAAAzDMAzGYAzJkAzMwAzP8A/wAA/zMA/2YA/5kA/8wA//8zAAAzADMzAGYzAJkzAMwzAP8zMwAz

MzMzM2YzM5kzM8wzM/8zZgAzZjMzZmYzZpkzZswzZv8zmQAzmTMzmWYzmZkzmcwzmf8zzAAzzDMz

zGYzzJkzzMwzzP8z/wAz/zMz/2Yz/5kz/8wz//9mAABmADNmAGZmAJlmAMxmAP9mMwBmMzNmM2Zm

M5lmM8xmM/9mZgBmZjNmZmZmZplmZsxmZv9mmQBmmTNmmWZmmZlmmcxmmf9mzABmzDNmzGZmzJlm

zMxmzP9m/wBm/zNm/2Zm/5lm/8xm//+ZAACZADOZAGaZAJmZAMyZAP+ZMwCZMzOZM2aZM5mZM8yZ

M/+ZZgCZZjOZZmaZZpmZZsyZZv+ZmQCZmTOZmWaZmZmZmcyZmf+ZzACZzDOZzGaZzJmZzMyZzP+Z

/wCZ/zOZ/2aZ/5mZ/8yZ///MAADMADPMAGbMAJnMAMzMAP/MMwDMMzPMM2bMM5nMM8zMM//MZgDM

ZjPMZmbMZpnMZszMZv/MmQDMmTPMmWbMmZnMmczMmf/MzADMzDPMzGbMzJnMzMzMzP/M/wDM/zPM

/2bM/5nM/8zM////AAD/ADP/AGb/AJn/AMz/AP//MwD/MzP/M2b/M5n/M8z/M///ZgD/ZjP/Zmb/

Zpn/Zsz/Zv//mQD/mTP/mWb/mZn/mcz/mf//zAD/zDP/zGb/zJn/zMz/zP///wD//zP//2b//5n/

/8z///8AAAANDQ0aGhooKCg1NTVDQ0NQUFBdXV1ra2t4eHiGhoaTk5OhoaGurq67u7vJycnW1tbk

5OTx8fH///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAABGUgBlAAAACXBIWXMAAAsSAAALEgHS3X78AAAACXRFWHRDb21tZW50AACJKo0G

AAALi0lEQVR4nO2da3LiOBRGU8UO2EzvL396CbORbCIrcJVN3p0HXsXwatrAZ1uWr2TJPocehhAh

Xz4fhCMU564w4W5A24cHk25qm246GNLNyqabDvKtJv9uOvKcppsBPU3QjY9+s69mdSKNanbcF8lk

M303w6CbK9b//g3o5semmrJMqpsqqWqidtPVrI8h3Xw7dTOGOXYzoJe6/SB90KG+RS1F7dzL/YBe

/WqhF3rJffsdfff5Yq1eLXrpOWqidtPVrI8h3Xw7dWqidtPVrI8h3Xw7dWqidPaL3kuVUC1Ovbz1

Hn/39vLLoZfgh9/z6+WahwNDHxWmlsKnlFC1dH080EqoWnygFo1bLe0/67UwbE79RH65HBnwZBeV

y4GVI1Fq8diII5619D3vOL6s/LfVx7haWktaeC62UIuGWjTUosm6loBQi4ZaNHdfB74tGfwTzN9a

Tv/flLaMqcWUsuyYT2snTC2VVzCBckmpllnuo6ddxJuRWNXy5vmabOIzxtx93PJcVZW425l3z2eS

1HvA1AU0mH0ttde0d8g5+MGPClNL7VNKwM8Dhj8oUC0dy/zbCfbZhMdjMqrFa250/7gQtXhVUoTJ

xauQYim1DC9pGbUMh1o0oWsZ8rnaknIZwuJqcfy4cXG5OLLQWvqWqONLC9SiiV5Lx+TTonPpgFpk

G8a6Fqjl1DChY6nrhtSSai3naawEfPnXnFqohVrGQy0aatFQi4ZaNPnUcv5Vz1+Nf8c1bd+2a9r6

a9Eccqk353JNKLtradsXp/u/jZfXbUfUYsuuGGqhFpNa1tRCLdQSuxaDZaobw1o6fs/fjYRqGb+P

1la1lH65iPW3VVW9jVm/W37a7SML8jn21lCLZgm12PPQIPjG8omlkYvv71q5k1EsRbxUsoqliJZK

XrEUsVLJLJYiUiq5xeL1buvBuFgCnnmlhTxiuY8azGqVSSxGVbhDLBJikWQXi+tJuMaRXSxxIBYJ

sUjyjsX3d1V7NsdxSwvEIiEWyVxiWXn+SZGWzRGL3Nx8YjGFWCRzjMUgolnGMnLWakaHc9jS24RY

ZBNikU0MZq3mHosnxCIhFsmiYnGcteK4pQ1ikRCLZKGxdE7PzHS+hVhkE4PpGWKREItsTiy3s1bL

PZzDFq/mxEIs7s2JhVjcm2cRS3yIRUIsEmKREIuEWCTEIiEWCbFIiEUyJpb12vW6uHv5S/n8ki5V

Wf2MimXg7m82/yw3P/++WludBc6Kr3I7SSxJc/rLscRyyemUf8Ryyf6PxhLLDftMKmK5xvtFdHrH

HfagjGLxfBHNPRbPF9H8Y8GWG3gRSXgRSZJ8EdX1dkc9IUnG8nYsavQZScdCLIotsQjKT4+foI1j

uZhvSSCWp3J/HSuWj/csLttTvczlSohFQiwSYpEQy5RkE0vNSaclMVPJKJaaWCQRz1CeUyx1PFly

iqWIJ0tWsdTRZMkqliKaLHnFUseSJa9YiliyZBZLHUmWzGIpIsmSXSyRtkMsEmKRjIwlzFmUW7d2

Tyxqa7nEEhtikRCLhFgkxCIhFkl2sVieiryN+wxjiUJ+sWCLIs7hLrFIiEVCLBJikWQdS7iI8o4l

0N8szXC+hVgkvIgkxCIhFgmxSIhFQiyS9ljsQsp8YsHgD+7MZxpK3y5qbBG3bSEWCbFIiEVCLBJi

kcwzlpGrhOY630IsYSAWCbFIiEVCLBJikcw9Fq/lMPOfWFj8NFRbc2zpaT4AYpEQi4RYJMQiWVIs

AyJaVCyuq4TmP99CLBbN/0IsEmKREIuEWCTEIlluLB0PXtbEwoDFU//ZFNtLarF0Lp5ari09EIuE

WCTEIiEWCbFIiKW4XSXEfMvxG8TiBrFIiEVCLBJikRCLhFgkxCIhFgmxSIhFQiyS7GKJA7FIiEVC

LBJikRCLhFgkxCIhFgmxSIhFQiwSYpEQi4RYJMQiIRYJsUiIRTImlvWv9fX1Wl8vKpZi7Xxd3H2f

+Pra/UuV7+ixPJ+oqpeX58blZX359aSX57J8GxTLXfM5+sRyftBb+Sk6SYb38k8xRSxFsSnfG338

SiyXYvM0TSx7Y/6xLpNjM1Est50kwyGXd2K54ugLsVxBLBJikRCLhFgkxCIZGUtdEEtLLEXjTmI5

QCx7OmIpGt8ilqsGxNIBsUiIpQNikRBLB8QiIZYOiEWyhFj8IZaBj7+IZVvv2U5IkrGUZbW7lJuJ

</GUI>

</Reps>

</IC>

我希望有人知道如何帮助我从这个 XML 中获取数据,这样我就可以使用类似于下面代码的东西来解码我的 png

[Base64 initialize];
NSData *data = [Base64 decode:img];
cell.image.image = [UIImage imageWithData:data];

如有任何帮助,我们将不胜感激。

最佳答案

您可能不想为 NSDictionary 操心。我不在我的 Mac 旁,但请尝试以下操作:

  1. 在您的委托(delegate) (NSXMLParserDelegate Protocol Reference) 中实现 foundCharacters 回调。
  2. foundCharacters 实现中,检查您是否在 didStartElementdidEndElement 之间调用 GUI 元素:如果是,请将字符附加到 NSMutableString 实例。
  3. didEndElement 中,您可以使用类似 thisNSMutableString 初始化一个 NSData 实例.

这应该会带您到达您需要去的地方。

关于ios - 尝试使用 NSXMLParser 委托(delegate)解析 NSData 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com