@@ -41,8 +41,8 @@ class HTMLNode {
4141 * 次ノード
4242 */
4343 var next : HTMLNode ? {
44- if let n : UnsafePointer < xmlNode > = node? . next {
45- if n {
44+ if let n : UnsafeMutablePointer < xmlNode > = node? . next {
45+ if n != nil {
4646 return HTMLNode ( doc: doc, node: n)
4747 }
4848 }
@@ -54,7 +54,7 @@ class HTMLNode {
5454 */
5555 var child : HTMLNode ? {
5656 if let c = node? . children {
57- if c {
57+ if c != nil {
5858 return HTMLNode ( doc: doc, node: c)
5959 }
6060 }
@@ -72,7 +72,7 @@ class HTMLNode {
7272 * タグ名
7373 */
7474 var tagName : String {
75- if node {
75+ if node != nil {
7676 return ConvXmlCharToString ( self . node!. name)
7777 }
7878 return " "
@@ -82,9 +82,9 @@ class HTMLNode {
8282 * コンテンツ
8383 */
8484 var contents : String {
85- if node {
85+ if node != nil {
8686 var n = self . node!. children
87- if n {
87+ if n != nil {
8888 return ConvXmlCharToString ( n. memory. content)
8989 }
9090 }
@@ -98,7 +98,7 @@ class HTMLNode {
9898 init ( doc: htmlDocPtr = nil ) {
9999 self . doc = doc
100100 var node = xmlDocGetRootElement ( doc)
101- if node {
101+ if node != nil {
102102 self . node = node. memory
103103 }
104104 }
@@ -107,7 +107,7 @@ class HTMLNode {
107107 self . doc = doc
108108 self . node = node. memory
109109
110- if let type = HTMLNodeType . fromRaw ( tagName) {
110+ if let type = HTMLNodeType ( rawValue : tagName) {
111111 nodeType = type
112112 }
113113 }
@@ -118,13 +118,11 @@ class HTMLNode {
118118 * @return 属性名
119119 */
120120 func getAttributeNamed( name: String ) -> String {
121- for var attr : xmlAttrPtr = node! . properties; attr; attr = attr. memory. next {
122- if attr {
123- var mem = attr. memory
121+ for var attr : xmlAttrPtr = node! . properties; attr != nil ; attr = attr. memory. next {
122+ var mem = attr. memory
124123
125- if name == ConvXmlCharToString ( mem. name) {
126- return ConvXmlCharToString ( mem. children. memory. content)
127- }
124+ if name == ConvXmlCharToString ( mem. name) {
125+ return ConvXmlCharToString ( mem. children. memory. content)
128126 }
129127 }
130128
@@ -136,20 +134,20 @@ class HTMLNode {
136134 * @param[in] tagName タグ名
137135 * @return 子ノードの配列
138136 */
139- func findChildTags( tagName: String ) -> HTMLNode [ ] {
140- var nodes : HTMLNode [ ] = [ ]
137+ func findChildTags( tagName: String ) -> [ HTMLNode ] {
138+ var nodes : [ HTMLNode ] = [ ]
141139
142140 return findChildTags ( tagName, node: self . child, retAry: & nodes)
143141 }
144142
145- func findChildTags( tagName: String , node: HTMLNode ? , inout retAry: HTMLNode [ ] ) -> HTMLNode [ ] {
146- if node {
147- for n in node! {
148- if n . tagName == tagName {
149- retAry. append ( n )
143+ func findChildTags( tagName: String , node: HTMLNode ? , inout retAry: [ HTMLNode ] ) -> [ HTMLNode ] {
144+ if let n = node {
145+ for curNode in n {
146+ if curNode . tagName == tagName {
147+ retAry. append ( curNode )
150148 }
151149
152- findChildTags ( tagName, node: n . child, retAry: & retAry)
150+ findChildTags ( tagName, node: curNode . child, retAry: & retAry)
153151 }
154152 }
155153 return retAry
@@ -165,18 +163,16 @@ class HTMLNode {
165163 }
166164
167165 func findChildTag( tagName: String , node: HTMLNode ? ) -> HTMLNode ? {
168- if node == nil {
169- return nil
170- }
171-
172- for curNode in node! {
173- if tagName == curNode. tagName {
174- return curNode
175- }
166+ if let nd = node {
167+ for curNode in nd {
168+ if tagName == curNode. tagName {
169+ return curNode
170+ }
176171
177- if let c = curNode. child {
178- if let n = findChildTag ( tagName, node: c) {
179- return n
172+ if let c = curNode. child {
173+ if let n = findChildTag ( tagName, node: c) {
174+ return n
175+ }
180176 }
181177 }
182178 }
@@ -185,7 +181,7 @@ class HTMLNode {
185181 }
186182}
187183
188- extension HTMLNode : Sequence {
184+ extension HTMLNode : SequenceType {
189185 func generate( ) -> HTMLNodeGenerator {
190186 return HTMLNodeGenerator ( node: self )
191187 }
@@ -194,15 +190,15 @@ extension HTMLNode : Sequence {
194190/**
195191* HTMLNodeGenerator
196192*/
197- class HTMLNodeGenerator : Generator {
193+ class HTMLNodeGenerator : GeneratorType {
198194 var node : HTMLNode ?
199195
200196 init ( node: HTMLNode ? ) {
201197 self . node = node
202198 }
203199
204200 func next( ) -> HTMLNode ? {
205- var temp = node?
201+ var temp = node
206202 node = node? . next
207203 return temp
208204 }
0 commit comments