如何解析不同类型的 xml 数据或类似于 xml 结构
how to parse different type of xml data or similar to xml structure
我已经使用我的 iphone 扫描了一张图像,得到了以下类型的结果。
<?xml version="1.0" encoding="UTF-8"?>
<PrintLetterBarcodeData uid="229636134720" name="Nandan Mohan Nilekani" gender="M"
yob="1955" house="856, 13th Main , 3rd Block" loc="Koramangala" vtc="Bangalore South"
po="Koramangala" dist="Bangalore" state="Karnataka" pc="560034"/>
如何拆分或解析上述 xml 数据的最佳方法。
请检查此代码
- (void)viewDidLoad{
[super viewDidLoad];
NSString *DataPath = @"<PrintLetterBarcodeData uid=\"229636134720\" name=\"Nandan Mohan Nilekani\" gender=\"M\" yob=\"1955\" house=\"856, 13th Main , 3rd Block\" loc=\"Koramangala\" vtc=\"Bangalore South\" po=\"Koramangala\" dist=\"Bangalore\" state=\"Karnataka\" pc=\"560034\"/>";
NSData* data=[DataPath dataUsingEncoding:NSUTF8StringEncoding];;
NSXMLParser* rssParser = [[NSXMLParser alloc] initWithData:data];
[rssParser setDelegate:self];
[rssParser setShouldProcessNamespaces:NO];
[rssParser setShouldReportNamespacePrefixes:NO];
[rssParser setShouldResolveExternalEntities:NO];
[rssParser parse];}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
NSDictionary* dic;
currentElementValue = [[NSMutableString alloc] init];
if ([elementName isEqualToString:@"PrintLetterBarcodeData"])
{
dic=attributeDict;
}
NSLog(@"%@",dic);}
输出:
{
dist = 班加罗尔;
gender = M;
house = "856, 13th Main , 3rd Block";
loc = Koramangala;
name = "Nandan Mohan Nilekani";
pc = 560034;
po = Koramangala;
state = Karnataka;
uid = 229636134720;
vtc = "Bangalore South";
yob = 1955;
}
我已经使用我的 iphone 扫描了一张图像,得到了以下类型的结果。
<?xml version="1.0" encoding="UTF-8"?>
<PrintLetterBarcodeData uid="229636134720" name="Nandan Mohan Nilekani" gender="M"
yob="1955" house="856, 13th Main , 3rd Block" loc="Koramangala" vtc="Bangalore South"
po="Koramangala" dist="Bangalore" state="Karnataka" pc="560034"/>
如何拆分或解析上述 xml 数据的最佳方法。
请检查此代码
- (void)viewDidLoad{
[super viewDidLoad];
NSString *DataPath = @"<PrintLetterBarcodeData uid=\"229636134720\" name=\"Nandan Mohan Nilekani\" gender=\"M\" yob=\"1955\" house=\"856, 13th Main , 3rd Block\" loc=\"Koramangala\" vtc=\"Bangalore South\" po=\"Koramangala\" dist=\"Bangalore\" state=\"Karnataka\" pc=\"560034\"/>";
NSData* data=[DataPath dataUsingEncoding:NSUTF8StringEncoding];;
NSXMLParser* rssParser = [[NSXMLParser alloc] initWithData:data];
[rssParser setDelegate:self];
[rssParser setShouldProcessNamespaces:NO];
[rssParser setShouldReportNamespacePrefixes:NO];
[rssParser setShouldResolveExternalEntities:NO];
[rssParser parse];}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
NSDictionary* dic;
currentElementValue = [[NSMutableString alloc] init];
if ([elementName isEqualToString:@"PrintLetterBarcodeData"])
{
dic=attributeDict;
}
NSLog(@"%@",dic);}
输出: {
dist = 班加罗尔;
gender = M;
house = "856, 13th Main , 3rd Block";
loc = Koramangala;
name = "Nandan Mohan Nilekani";
pc = 560034;
po = Koramangala;
state = Karnataka;
uid = 229636134720;
vtc = "Bangalore South";
yob = 1955;
}