Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >XML解析器仅加载第一个对象

XML解析器仅加载第一个对象
EN

Stack Overflow用户
提问于 2017-07-04 19:24:20
回答 1查看 168关注 0票数 0

我有一个xml parser,但是解析器中的函数能够获取xml文件的第一个对象,但不能将xml文件的所有类别都放入mutable array。下面是函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    let xmlparser = XmlParser()
    xmlparser.loadRssFeed("FaceMask")
    faceMaskArray = (xmlparser.faceMaskArray.firstObject as! FaceMaskCategories).faceMaskItemArray
    collectionArray = faceMaskArray

我的xml文件就是这样的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <?xml version="1.0" encoding="utf-8"?>
<facemasks>
    <categories>
        <category >
            <id>0</id>
            <title>Animals</title>
            <image_name> leopard</image_name>
            <items>

                <item>
                    <landmarks_file_name>leopard</landmarks_file_name>
                    <item_id>1101</item_id>
                    <mask_title>leopard</mask_title>
                    <mask_image_name>leopard.png</mask_image_name>
                </item>

            </items>
        </category>
        <category >
            <id>1</id>
            <title>Animal</title>
            <image_name>leopard</image_name>
            <items>
                <item>
                    <landmarks_file_name>leopard</landmarks_file_name>
                    <item_id>1102</item_id>
                    <mask_title>leopard</mask_title>
                    <mask_image_name>leopard.png</mask_image_name>
                </item>
            </items>
        </category>
        <category >
            <id>2</id>
            <title>Animals</title>
            <image_name>tiger</image_name>
            <items>
                <item>
                    <landmarks_file_name>leopard</landmarks_file_name>
                    <item_id>1103</item_id>
                    <mask_title>tiger</mask_title>
                    <mask_image_name>tiger.png</mask_image_name>
                </item>
            </items>
        </category>
        <category >
            <id>3</id>
            <title>Animals</title>
            <image_name>tiger</image_name>
            <items>
                <item>
                    <landmarks_file_name>leopard</landmarks_file_name>
                    <item_id>1104</item_id>
                    <mask_title>tigerz</mask_title>
                    <mask_image_name>tiger.png</mask_image_name>
                </item>
            </items>
        </category>
    </categories>
</facemasks>

该函数仅从xml file中正确获取第一个或最后一个对象。谁能指导我如何才能正确地从xml文件中获得所有类别。我真的很感谢你的帮助。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-04 20:48:18

检查以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func beginParsing()
{
posts = []
parser = NSXMLParser(contentsOfURL:
(NSURL(string:"http://images.apple.com/main/rss/hotnews/hotnews.rss"))!)!
parser.delegate = self
parser.parse()
tbData!.reloadData()
}

下面是获得整个数组的解析器函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func parser(parser: NSXMLParser, didStartElement elementName: String, 
namespaceURI: String?, qualifiedName qName: String?, attributes 
attributeDict: [String : String])
{
element = elementName
if (elementName as NSString).isEqualToString("item") // Replace this item with category.
{
elements = NSMutableDictionary()
elements = [:]
title1 = NSMutableString()
title1 = ""
date = NSMutableString()
date = ""
}
}

它从数组中获取所有项," item“实际上是标记或数组中的每个项,就像示例XML中的"category”一样。

这是示例XML:

http://images.apple.com/main/rss/hotnews/hotnews.rss#sthash.1Mq673bO.dpuf

并解析来自每一项的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func parser(parser: NSXMLParser!, foundCharacters string: String!)
{
 if element.isEqualToString("title") {
title1.appendString(string)
} else if element.isEqualToString("pubDate") {
date.appendString(string)
}
}

我正在使用这个教程,它工作得很好:

http://www.theappguruz.com/blog/xml-parsing-using-nsxmlparse-swift

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44912926

复制
相关文章
数据倾斜?Spark 3.0 AQE专治各种不服(上)
Spark3.0已经发布半年之久,这次大版本的升级主要是集中在性能优化和文档丰富上,其中46%的优化都集中在Spark SQL上,SQL优化里最引人注意的非Adaptive Query Execution莫属了。
大数据真好玩
2021/02/23
3.1K0
数据倾斜?Spark 3.0 AQE专治各种不服(上)
向后台提交数据:cookie,secur
向后台提交数据除了前端url,form表单,Ajax外还可以用cookie,secure_cookie,提交更多信息可以在用cookie基础上用session,
py3study
2020/01/17
6800
android的消息通知栏
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。 下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。 (网上看了下,全面介绍的文章不多,所以就萌生了写这篇的念头,随便当作回顾笔记。下面我就通过官方文档、源代码、书上的一些
xiangzhihong
2018/01/30
4.1K0
android的消息通知栏
浅谈离线数据倾斜
在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了
京东技术
2023/08/22
5320
浅谈离线数据倾斜
Flink数据倾斜理解
数据倾斜就是数据的分布严重不均,流入部分算子的数据明显多余其他算子,造成这部分算子压力过大。
zeekling
2023/01/16
1.5K0
BigData | 一文带你搞清楚"数据倾斜"(上)
我们在用hive取数的时候,有的时候只是跑一个简单的join语句,但是却跑了很长的时间,有的时候我们会觉得是集群资源不够导致的,但是很大情况下就是出现了"数据倾斜"的情况。
Sam Gor
2019/08/21
9570
python获取天气+email通知
信息抓取来源:http://www.tianqi.com/(天气网 ) 邮件服务器(发送):126邮箱 邮件服务器(接收):QQ邮箱 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*-  import smtplib import urllib,urllib2 import re #定义函数,发送邮件 def sendMail(body):     smtp_server = 'smtp.126.com'     from_mail = 'hzpzc68
py3study
2020/01/03
6980
python获取天气+email通知
Spark数据倾斜解决
Spark中的数据倾斜问题主要指shuffle过程中出现的数据倾斜问题,是由于不同的key对应的数据量不同导致的不同task所处理的数据量不同的问题。
五分钟学大数据
2022/10/05
8080
Spark数据倾斜解决
android获取数据_获取AndroidID需要权限
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169222.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
1.1K0
OSG加载倾斜摄影数据
ContextCapture(Smart3D)生成的倾斜摄影模型数据一般都形如如下组织结构:
charlee44
2020/05/08
3.2K0
【专题】spark/MR 数据倾斜优化
原理:在进行shuffle的时候,须将各个节点上相同的key拉取到某个节点上的一个task来进行处理,比如按照key进行聚合或join等操作。此时如果某个key对应的数据量特别大的话,就会发生数据倾斜。比如大部分key对应10条数据,但是个别key却对应了100万条数据,那么大部分task可能就只会分配到10条数据,然后1秒钟就运行完了;但是个别task可能分配到了100万数据,要运行一两个小时。因此,整个Spark作业的运行进度是由运行时间最长的那个task决定的。
艾利
2022/08/30
2K0
Android中的通知和自定义通知布局
Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程序中使用通知和自定义通知的布局。
指点
2019/01/18
3.6K0
Android中的通知和自定义通知布局
大数据常见问题:数据倾斜
一般都发生在Sql中group by和join on上,而且和数据逻辑绑定比较深。
不吃西红柿
2022/07/29
8130
大数据常见问题:数据倾斜
Android 8.0无法发送通知栏?通知栏适配通知渠道
  不得不说Andoird的通知栏相比于IOS在使用上有着明显的不足,不仅是体验上的差异,还有大量的非关注通知铺满了通知栏,导致通知栏混乱,杂多。   为什么一个很好的通知栏功能现在却变得这么遭用户讨厌?很大一部分原因都是因为开发者没有节制地使用导致的。每个开发者都只想着尽可能地去宣传自己的App,最后用户的手机就乱得跟鸡窝一样了。但是通知栏又还是有用处的,比如我们收到微信、短信等消息的时候,确实需要通知栏给我们提醒。因此分析下来,通知栏目前最大的问题就是,无法让用户对感兴趣和不感兴趣的消息进行区分。就比如说,我希望淘宝向我推送卖家发货和物流的相关消息,但是我不想收到那些打折促销或者是让我去买衣服的这类消息。那么就目前来说,是没有办法对这些消息做区分的,我要么同意接受所有消息,要么就屏蔽所有消息,这是当前通知栏的痛点。   那么在Android 8.0系统中,Google也是从这个痛点开始下手的。
饮水思源为名
2018/09/06
3.6K0
Pig对于数据倾斜Join的优化原理
2、根据样本数据,估计出某个key的所有的记录数以及所占的总内存,pig.skewedjoin.reduce.memusage 控制reduce消耗内存比例,再计算出某个key所需要的reduce个数,以及reduce的总数。
星哥玩云
2022/07/03
1920
点击加载更多

相似问题

Android -免责声明在每次意向后弹出

30

android挂起意向通知问题

50

如何通知我一部电影已被认定为非电影?

11

倾斜和扭曲电影剪辑

10

android通知意向中为什么没有发送额外的数据(整数)?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文