什么是更有效的XML结构进行数据解析?

时间:2013-07-25 06:17:29

标签: ios objective-c xml-parsing

我有两个版本的XML文件要为iOS应用程序解析,该应用程序使用XML数据呈现图形。

结构#1:

<graphData>
<headerBundle>
    <chartTitle>Rainfall History</chartTitle>
    <xTitle>No. of cms</xTitle>
    <yTitle></yTitle>
    <nLegends>6</nLegends>
    <legendBundle>
        <legend>Jan</legend>
        <legend>Feb</legend>
        <legend>Mar</legend>
        <legend>Apr</legend>
        <legend>May</legend>
        <legend>Jun</legend>
    </legendBundle>
</headerBundle>
<dataBundle>
    <data>City A,1,2,4,7,8,4</data>
    <data>City B,4,7,8,4,2,8</data>
    <data>City C,8,4,4,7,9,6</data>
</dataBundle>

结构#2:

<graphData>
<headerBundle>
    <chartTitle>Rainfall History</chartTitle>
    <xTitle>No. of cms</xTitle>
    <yTitle></yTitle>
    <nLegends>6</nLegends>
    <legendBundle>
        <legend>Jan</legend>
        <legend>Feb</legend>
        <legend>Mar</legend>
        <legend>Apr</legend>
        <legend>Jun</legend>
        <legend>Jul</legend>
    </legendBundle>
</headerBundle>
<dataBundle>
    <dataPacket>
        <xLabel>City A</xLabel>
            <Jan>1</Jan>
            <Feb>2</Feb>
            <Mar>4</Mar>
            <Apr>7</Apr>
            <May>8</May>
            <Jun>4</Jun>
    </dataPacket>       
    <dataPacket>
        <xLabel>City B</xLabel>
            <Jan>4</Jan>
            <Feb>7</Feb>
            <Mar>8</Mar>
            <Apr>4</Apr>
            <May>2</May>
            <Jun>8</Jun>
    </dataPacket>       
    <dataPacket>
        <xLabel>City C</xLabel>
            <Jan>8</Jan>
            <Feb>4</Feb>
            <Mar>4</Mar>
            <Apr>7</Apr>
            <May>9</May>
            <Jun>6</Jun>
    </dataPacket>       
</dataBundle>

在文件大小,数据成本和可重用性方面,结构#1得分。
但是这会在String Splitting中占用大量的处理时间 那么,总的来说,这两者的优化是什么?

1 个答案:

答案 0 :(得分:0)

使用选项1,您可以使用componentsSeparatedByString:拆分字符串。您应该测试以找出哪个更快。你可能也不应该担心它,直到你有一些理由(不要提前优化,这可能不会是你的应用程序变慢的原因)。