【问题标题】:Porting code from iOS Xcode to Android (Parsing XML SAX) [closed]将代码从 iOS Xcode 移植到 Android(解析 XML SAX)[关闭]
【发布时间】:2013-06-04 22:26:15
【问题描述】:

我正在尝试将应用程序从 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>

在 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];
}

也许所有这些代码都无关紧要......但无论如何......我应该从哪里开始? 是否有任何直接将此 XML 信息粘贴到列表、数组的方法?

谢谢!

【问题讨论】:

    标签: android ios xml parsing sax


    【解决方案1】:

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

    我最近遇到了同样的情况,我需要创建我的 iphone 应用程序的 android 版本。我没有选择一种 android 的无数解析方法,而是使用了一个将它抽象一点的框架。如果 Apache 许可证不是问题,我强烈推荐这个。

    Simple XML 会将 xml 映射到您的对象。

    【讨论】:

    • +1 用于简单 XML。其简单性和强大功能非常出色。
    • 谢谢汤姆!我会在这里发布我所做的!
    【解决方案2】:

    你可以使用 xmlpullparser 是很容易做到的。请参阅下面的链接,它有一个示例代码 http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

    【讨论】:

      猜你喜欢
      • 2015-07-15
      • 2012-11-16
      • 2011-04-29
      • 2011-05-17
      • 2013-09-08
      • 2012-03-09
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      相关资源
      最近更新 更多