将xml结果解析为swift中的uitableview

时间:2015-03-26 15:29:59

标签: swift xml-parsing

如何在Swift中每个单元格两行解析xml结果到tableview?

我想在表格视图中显示这样的结果

的TableView

=====

userID:brat_peet

密码:12124521

=====

userID:Miketyson

密码:Miketyson

=====

我该怎么做?

这是我的xml结果。

          

<Record table="User" partial="true">    
<Field name="userID" primaryKey="true"><![CDATA[brat_peet]]></Field>
<Field name="password" primaryKey="true"><![CDATA[12124521]]></Field>       
</Record>

<Record table="User" partial="true">    
<Field name="userID" primaryKey="true"><![CDATA[Miketyson]]></Field>
<Field name="password" primaryKey="true"><![CDATA[Miketyson]]></Field>
</Record>

<Record table="User" partial="true">    
<Field name="userID" primaryKey="true"><![CDATA[Kennedy]]></Field> 
<Field name="password" primaryKey="true"><![CDATA[754123654]]></Field>     
</Record>

</ATBResponse>

1 个答案:

答案 0 :(得分:0)

对于tableView:

“每个单元格两行”是一个无关的值。您可以使用“自定义”样式单元格,并在每个单元格中放入所需的文本标签(以及图像和其他内容)。因此,要在每个单元格中使用两个“线”,您只需选择“自定义”单元格,向下拖动以增加尺寸并在内部插入两个标签。

对于XML解析:

首先,您必须了解如何在Swift中解析XML。这是我写的教程: https://medium.com/@lucascerro/understanding-nsxmlparser-in-swift-xcode-6-3-1-7c96ff6c65bc

在您的情况下,您必须构建代码,以便仅在<Field>元素内部检查<Record>元素。然后,您可以通过检查"username"的{​​{1}}来区分"password"<Field>数据。

对于字符串:

最后,您生成的attributes将不是您需要的最终数据。有许多foundCharacters类型的方法可以解决这个问题。一个示例是使用方法String删除开始和结束字符,因为它们看起来总是相同的(在您的情况下:removeRange"<![CDATA[",假设您是将它们作为"]]>"类型返回。