文档章节

刹那间

黄裳23
 黄裳23
发布于 2014/05/21 17:22
字数 307
阅读 91
收藏 3

给你一段xml,自定义的xml,例如:<a>aaa<b>bbb<c>ccc<d>ddd...</d></c></b></a>

要求,解析并输出这一段xml,然后将其特性展现出来,规则是每一个node的特性是各xml节点定义的累加,比如ccc的特性:a+b+c。

当时的回答:遍历两次,第一次将每一个元素的节点按顺序组装到一个<key,value>中去,然后在遍历这个数据结构,将特性展现出来即可。

接下来的问题:有没有更好的方案,一边遍历一边输出,也就只是遍历一次?

可能是当时紧张、或者自卑的原因,就是想不出该怎么弄。第二天骑自行车上班,快到公司了,突然就来了灵感: 遍历的同时,维护一个堆栈,遇到一个xml节点的开始入栈,遇到一个xml节点的结束,就做相应的出栈,遇到元素,就将当前堆栈的所有特性加到该元素上,是不是就OK了?

© 著作权归作者所有

下一篇: 断点续传
黄裳23
粉丝 2
博文 53
码字总数 9420
作品 0
西安
高级程序员
私信 提问
一把大火烧毁800年历史的巴黎圣母院

今天差不多中午时间,朋友圈、自媒体、群里讨论的画风突变,what?巴黎圣母院被烧毁了? 刹那间,很难接受这个消息,巴黎圣母院突然要从人类古迹遗憾中抹去,就好像要抹去从小书本里的圣母院...

Hans在路上
04/16
0
0
.net开源生态,WTM与NCC

  天下大势,分久必合,合久必分。改朝换代都如花开花谢,过眼云烟,更别提开发语言的更迭了。 我们所坚持的,只是那最初的感动,那“只是在人群中多看了你一眼”的惊艳。三十年河东,三十...

liuliang79
08/07
0
0
程序员的四个境界

世间很多道理都是相通的,小时候看武侠片里面分不同层次的高手,今天有幸看到软件设计领域其实也有不同层次的高手,软件领域分为四个境界: 第一境界:知器 就是掌握一门或者几门编程语言,会...

IT追寻者
2016/06/24
133
0
读心三国16|| 庞统:丑不足以掩盖梦想,用智慧逆袭人世疏狂

简书首发,侵权必究! 01.一县里苍蝇乱飞,老百姓鸡飞狗跳 自从庞统来了耒阳县,县府里政务荒废,一县里苍蝇乱飞,老百姓鸡飞狗跳…… 穷人的官府,来了一个不作为的丑官,桃园弟兄很生气。张...

历史迷猴神通
2018/08/11
0
0
红海or蓝海?更好的答案是「出海」!

「人口红利正在消失」,已然成为不争的事实。随之而来的,是一个个行业由「蓝海」变为「红海」。在这样的大背景下,为什么要「出海」的答案,就显而易见了。 第四次浪潮,大势所趋 在「商业化...

七牛云
08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RxJava进行单元测试的方式

@Test public void completeTask_retrievedTaskIsComplete() { // Given a new task in the persistent repository final Task newTask = new Task(TITLE, ""); ......

SuShine
31分钟前
5
0
正则表达式大全

检验手机号码 # 要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。import redef verify_mobile(): mob = input("请输入手机号码:") ret = re.match(r"1[358]\d{9}", m......

彩色泡泡糖
35分钟前
5
0
QT之border-image属性

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持...

shzwork
35分钟前
6
0
Kubernetes Operator简易教程

1. 安装operator-sdk //安装 operator-sdk$ apt-get install operator-sdk.....$ operator-sdk versionoperator-sdk version: v0.7.0$ go versiongo version go1.11.4 darwin/amd64 2......

Robotcl_Blog
35分钟前
5
0
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

守望者之父
41分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部