菜鸟教程小白 发表于 2022-12-12 21:26:55

ios - 将xml转换为plist


                                            <p><p>我有一个 XML 文件,我必须将其转换为属性列表文件 (plist)。我从终端尝试了“plutil”命令,但效果不佳。我怎样才能转换?
非常感谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我通过在 excel 中编写一个公式来为您创建 plist 文件的文本来实现这一点。很简单。</p>

<p><strong>1) (可选)</strong> 在 XCode 中,创建一个 plist,它最终具有您想要的格式。保存,然后在查找器中转到此。在 textWrangler 或文本编辑中打开它,以便您可以查看 plist 中每个元素的标签。</p>

<p>例如,您应该找到类似的内容:</p>

<pre><code>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;!DOCTYPE plist PUBLIC &#34;-//Apple//DTD PLIST 1.0//EN&#34; &#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#34;&gt;
&lt;plist version=&#34;1.0&#34;&gt;

&lt;dict&gt;

    &lt;key&gt;First Key Name&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;Before God we are all equally wise&lt;/string&gt;
      &lt;string&gt;&lt;/string&gt;
      &lt;string&gt;Albert Einstein&lt;/string&gt;
      &lt;integer&gt;0&lt;/integer&gt;
    &lt;/array&gt;

    &lt;key&gt;Second Key Name&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;Do not worry about your troubles.&lt;/string&gt;
      &lt;string&gt;&lt;/string&gt;
      &lt;string&gt;Albert Einstein&lt;/string&gt;
      &lt;integer&gt;0&lt;/integer&gt;
    &lt;/array&gt;

&lt;/dict&gt;
&lt;/plist&gt;
</code></pre>

<p><strong>2) 我会假设:</strong>
- 您的电子表格代表了许多行/对象/级别的相同 4 个属性的描述
- 您将每个数组作为电子表格中的单独行
- 以相同的顺序为每一行描述相同的属性。
- 您将能够通过知道它们存储在哪个索引来访问数组中的项目。即,我将通过查看索引 2 处的第二个数组来获得第二个作者。</p>

<p>您的电子表格应如下所示:</p>

<pre><code>         A                B            C             D                E            F

   /--(Key Names)--\/-------------------(Properties of Each)-----------------\

1    Level Name      |   Quote      |Notes|   Author      |Favorited|
   ____________________________________________________________________________
2    First Key Name|Before God... |         | Albert Einstein |      0      |
3    Second Key Name |Do not wor... |         | Albert Einstein |      0      |
.
.
.
</code></pre>

<p>所以我的每个对象都会在我的字典中获得自己的键,每个对象由 3 个字符串和一个整数描述。</p>

<p><strong>3) 公式</strong></p>

<p>在我的电子表格最后一列的右侧,我将编写一个公式来生成该行的 xml 代码:</p>

<pre><code>(F2) = CONCATENATE (&#34;&lt;key&gt;&#34;,A2,&#34;&lt;/key&gt; &lt;array&gt; &lt;string&gt;&#34;,B2,&#34;&lt;/string&gt; &lt;string&gt;&#34;,C2,&#34;&lt;/string&gt; &lt;string&gt;&#34;,D2,&#34;&lt;/string&gt; &lt;integer&gt;&#34;,E2,&#34;&lt;/integer&gt; &lt;/array&gt;&#34;)
</code></pre>

<p>将此单元格的右下角向下拖动到所有其他行中,它们将自动填充每一行的信息。</p>

<p>同样,在电子表格底部的所有行下,您可以使用另一个公式来连接行。假设您有 300 行:</p>

<pre><code>(F4) = CONCATENATE (F2:F300)
</code></pre>

<p>现在将这些数据复制到一个文本文件中,并添加最后几个标签和文档类型信息,您可以从上面复制这些信息。使用扩展名 .plist 保存,一切顺利!将文件添加回您的 xcode 项目并像任何其他 plist 一样加载它。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 将xml转换为plist,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/10920565/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/10920565/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 将xml转换为plist