Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将代码从iOS Xcode移植到Android(解析XML SAX)_Android_Ios_Xml_Parsing_Sax - Fatal编程技术网

将代码从iOS Xcode移植到Android(解析XML SAX)

将代码从iOS Xcode移植到Android(解析XML SAX),android,ios,xml,parsing,sax,Android,Ios,Xml,Parsing,Sax,我正在尝试将一个应用程序从iOS移植到Android。我不熟悉在Android中解析XML。你能帮我一下吗 以下是我的XML文件: <?xml version="1.0" encoding="UTF-8"?> <items> <item> <settingA>1</settingA> <settingB>sunday</settingB> <description>HAd

我正在尝试将一个应用程序从iOS移植到Android。我不熟悉在Android中解析XML。你能帮我一下吗

以下是我的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<items>
   <item>
    <settingA>1</settingA>
    <settingB>sunday</settingB>
    <description>HAdijoijaofijfosdifjsoidfjodsfjidsfojds</description>
   </item>
</items>

1.
星期日
HAdijoijaofijfosdifjsoidfjodsfjidsfojds
在iOS中,我遵循一些步骤,包括查找和读取元素,例如:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
    attributes:(NSDictionary *)attributeDict {
    if([elementName isEqualToString:@"terms"]) {
        // Tag <terms> found, creating a list of oracoes
        self.terms= [[NSMutableArray alloc] init];
    }
    else if([elementName isEqualToString:@"term"]) {
        // Tag <term> found, creating a new Term object
        term = [[Term alloc] init];
    }
}


- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
    if([elementName isEqualToString:@"terms"])
    {

        return;
    }
    if([elementName isEqualToString:@"term"]) {

        [self.oracoes addObject:term];

        [term release];
        term = nil;
    } else {

        if(tempString != nil && term != nil){
            [oracao setValue:tempString forKey:elementName];
        }

        [tempString release];
        tempString = nil;
    }
}

// Read content
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

    NSString *s = [string stringByTrimmingCharactersInSet:[NSCharacterSet     whitespaceAndNewlineCharacterSet]];
    if(!tempString)
    {

        tempString = [[NSMutableString alloc] init];
    }

    [tempString appendString:s];
}
-(void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName
namespaceURI:(NSString*)namespaceURI限定名称:(NSString*)限定名称
属性:(NSDictionary*)属性指令{
if([elementName IsequalString:@“terms”]){
//找到标记,创建OracoE列表
self.terms=[[NSMutableArray alloc]init];
}
else if([elementName IsequalString:@“term”]){
//找到标记,创建新的术语对象
term=[[term alloc]init];
}
}
-(void)parser:(NSXMLParser*)parser didEndElement:(NSString*)elementName
namespaceURI:(NSString*)namespaceURI限定名称:(NSString*)qName{
if([elementName IsequalString:@“terms”])
{
返回;
}
if([elementName IsequalString:@“term”]){
[self.oracoes addObject:term];
[期限释放];
术语=零;
}否则{
if(tempString!=nil&&term!=nil){
[oracao setValue:tempString-forKey:elementName];
}
[临时字符串释放];
tempString=nil;
}
}
//阅读内容
-(void)解析器:(NSXMLParser*)解析器查找字符:(NSString*)字符串{
NSString*s=[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
如果(!tempString)
{
tempString=[[NSMutableString alloc]init];
}
[tempString-appendString:s];
}
也许所有这些代码都无关紧要。。。但无论如何。。。我应该从哪里开始? 是否有任何简单的方法可以将此XML信息传递到列表、数组中


谢谢

我讨厌人们这样回答,但是

我最近遇到了同样的情况,我需要为我的iphone应用程序创建一个android版本。我没有选择安卓zillion解析方法中的一种,而是使用了一个稍微抽象一点的框架。如果Apache许可证不是问题,我强烈建议这样做


将xml映射到您的对象。

您可以使用xmlpullparser,这很容易做到。参考下面的链接,它有一个示例代码

+1表示简单XML。在它的简单性和力量上是杰出的。谢谢汤姆!我会在这里发布我所做的!