データベースとして使用されるXML文書があります。それは... <price>
、<name>
、<quantity>
のような子供を持つそれぞれ、例を多く<product>
の要素が含まれています動的AJAXページのデータベースとしてのXMLの使用
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<product code="AS542EG2542">
<title>Best product in the market</title>
<category>something 1</category>
<price>10.99</price>
</product>
<product code="AS542EG2542">
<title>Second best product in the market</title>
<category>something 2</category>
<price>58.99</price>
</product>
<product code="AS542EG2542">
<title>Third best product in the market</title>
<category>something 2</category>
<price>24.99</price>
</product>
</catalog>
その後、ウェブサイトでは、私はそれを呼び出すためにAJAXを使用して、情報を取得し、それを挿入していますDOMに:
// Get the XML document
var request = $.ajax({
url: "http://www.example.com/resources/database.xml",
dataType: 'xml',
cache: 'false',
method: 'GET',
async: 'true'
});
// After AJAX has been completed, run the following function
request.done(function() {
testingFunction(request);
});
// The function that extracts data from XML and inserts it into the DOM
function testingFunction(xml) {
var xmlDoc = xml.responseXML,
xml = $(xmlDoc),
// For each <product> elementt there is in the XML:
productsList = xml.find("product").each(function() {
// get child <title> of each <product>
var titleValue = $(this).find("title").text();
// get child <price> of each <product>
var priceValue = $(this).find("price").text();
// create a <li><div> titleValue </div><div> priceValue </div></li>
$("ul").append('<li><div class="iss-title">' + titleValue + '</div><div class="iss-price">' + priceValue + '</div</li>');
});
}
(私はプログラミングに比較的新しいです)
この良い習慣ですか?私はXMLが組織化されたデータのためのものであり、データベースとしてのものではありません。また、私はSQLデータベースを提供しています。 MySQL、PostgreSQLなど、PHPを使用してデータベーステーブルからデータを取得し、DOMに注入することができます。
私の場合、MySQLのようなSQLデータベースを使用する方が良いでしょうか?次の基準に従う:
- 良い練習です。例えば。 XMLは、プログラムのために読みやすい方法で運ばれたデータのためのものだと私は言った。
- Google botは、動的に生成されたコンテンツをSQLデータベースから読み込み/クロールできます。私はXMLとit looks like Google won't crawl AJAXについて読んだ。
なぜ 'request'を' .done() 'コールバックの' testingFunction'に渡しますか? googlebotは可能なすべてをクロールします。 – guest271314
あなたはレビューを探していると思います。だからcodereview。stackexchange.comはこの種の質問をするのに適した場所です。 –
@DanCostinelまあ、本質的にはい。私は1つ存在していたことさえ知りませんでした - スタックエクスチェンジのページがたくさんあります! – alej27