1

カテゴリの XML マップ ファイルを作成しています。私が考えている2つのオプションを考えると、正しいアプローチはどうなるのだろうと思っていました。

私の主な問題は、XML ファイルを読み取る必要がある可能性のある php コードの速度/効率です。だからここに私の最初のアプローチがあります

<?xml version="1.0" encoding="utf-8"?>
<category-map lang="en_US" reader="Candor Framework">

    <for-her url="/content/syl/tags/for-her">

        <women-tops url="/content/syl/category/15/women-tops">
            <women-longsleeve-tops url="/content/syl/tags/women-longsleeve-tops">Longsleeve Tops</women-longsleeve-tops>
            <women-shortsleeve-tops url="/content/syl/tags/women-shortsleeve-tops">Shortsleeve Tops</women-shortsleeve-tops>
        </women-tops>
        <women-gowns url="/content/syl/category/18/women-gowns/">
            <short-gowns url="/content/syl/tags/short-gowns">Short Gowns</short-gowns>
            <evening-gowns url="/content/syl/tags/evening-gowns">Evening Gowns</evening-gowns>
        </women-gowns>
        <women-shoes url="/content/syl/category/19/women-shoes/">
            <women-highheel-shoes url="/content/syl/tags/women-highheel-shoes">High Heel Shoes</women-highheel-shoes>
            <women-wedge-shoes url="/content/syl/tags/women-wedge-shoes">Wedge Shoes</women-wedge-shoes>
        </women-shoes>
    </for-her>

    <for-him url="/content/syl/tags/for-him">
        <men-shirt url="/content/syl/category/20/men-shirt">
          <men-lonsleeve-shirt url="/content/syl/tags/men-longsleeve-shirt">Longsleeve Shirt</women-longsleeve-tops>
        </men-shirt>
    </for-him>

</category-map>

このアプローチでは、すべての XML タグに一意の名前が付けられます。次に、この 2 番目のアプローチと比較してください。

 <?xml version="1.0" encoding="utf-8"?>
<category-map lang="en_US" reader="Candor Framework">

    <target name="for-her" url="/content/syl/tags/for-her">

        <category name="women-tops" url="/content/syl/category/15/women-tops">
            <tag name="women-longsleeve-tops" url="/content/syl/tags/women-longsleeve-tops">Longsleeve Tops</tag>
            <tag name="women-shortsleeve-tops" url="/content/syl/tags/women-shortsleeve-tops">Shortsleeve Tops</tag>
        </category>
        <category name="women-gowns" url="/content/syl/category/18/women-gowns/">
            <tag name="short-gowns" url="/content/syl/tags/short-gowns">Short Gowns</tag>
            <tag name="evening-gowns" url="/content/syl/tags/evening-gowns">Evening Gowns</tag>
        </category>
        <category name="women-shoes" url="/content/syl/category/19/women-shoes/">
            <tag name="women-highheel-shoes" url="/content/syl/tags/women-highheel-shoes">High Heel Shoes</tag>
            <tag name="women-wedge-shoes" url="/content/syl/tags/women-wedge-shoes">Wedge Shoes</tag>
        </category>
    </target>

    <target name="for-him" url="/content/syl/tags/for-him">
        <category name="men-shirt" url="/content/syl/category/20/men-shirt">
          <tag name="men-lonsleeve-shirt" url="/content/syl/tags/men-longsleeve-shirt">Longsleeve Shirt</tag>
        </category>
    </target>

</category-map>

これは XML ファイルの短いバージョンです。全体の内容はかなりのものです。これらの設計アプローチのどちらが高速ですか?、ループと条件が少なくて済むのはどれですか? どちらに従うことをお勧めしますか、またその理由は何ですか?

とても有難い!

4

1 に答える 1

1

私の意見では、純粋に 2 番目の方法が最適であると言えます。これは、より一般的であり、更新を必要とせずに拡張できるためです。

私は XML を、コードが他のコード ブロックと通信するためのメカニズムと見なしています。そのため、構造はコードに最適なものを反映する必要があり、必ずしも人間が読みやすい構造にする必要はありません。私には、最初の XML はコンピューターではなく人間のために書かれたように見えますが、2 番目の XML は、データベースが情報を保存する方法とより調和しています。 -シャツ。

最初の XML は name 属性の代わりに要素名を実際に使用しているため、パフォーマンスに関しては、両方とも同じようにコーディングしていることがわかるので、それらは同等であると思います。これは、最初のケースで新しい要素を追加できるようにコードを拡張できる場合に特に当てはまります。

大量のデータがある場合は、2 番目の XML を反映するスキーマを使用して、sqlite のようにデータベースに保存することを検討してください。次に、クエリの結果を任意のクライアントの XML または JSON にエクスポートできます。

于 2015-03-09T11:34:34.347 に答える