しかし、残念なことに、多くのサービスから返されるデータは依然として XML 形式です。
jquery には XML などのデータ処理のサポートが組み込まれており、これに関しては問題ありません。ただし、返されるデータには名前空間が存在しないことが前提となります。たとえば、次のデータ
xml バージョン = 1.0" エンコーディング = utf-8" ?>
<従業員 id="1" firstName="ares" lastName="chen">従業員> ;
<従業員 id="1" firstName="ares" lastName="chen">従業員>
<従業員 id="1" firstName="ares" lastName="chen" >< /従業員>
<従業員 id="1" firstName="ares" lastName="chen">
<従業員 id="1" firstName="ares " lastName=" chen">従業員>
<従業員 id="1" firstName="ares" lastName="chen">従業員>
<従業員 id=" 1" firstName= "ares" lastName="chen">従業員>
<従業員 id="1" firstName="ares" lastName="chen">従業員>
このようなデータを処理するための jquery コードは次のとおりです
var div = $("#placeholder");
// 名前空間なしで xml を処理します
$.get("data.xml", null, function (data) {
varemployees = $("Employee", data) //すべての従業員ノードを検索します
var = $("
"); .each(function ( ) {
$("
").text($(this).attr("firstName") " " $(this).attr("lastName")). appendTo(ul); // データの各行に新しい li タグを作成し、ul
ul.appendTo(div)>});
ただし、XML データに名前空間がある場合、上記のコードは無効になります。その理由は、jquery がデフォルトでは名前空間
を処理できないためです。コード
🎜>
この問題を解決するために、一部の熱心なネットユーザーは、jquery.xmlns.js という jquery プラグインを作成しました。興味がある場合は、次の
http://www からダウンロードしてください。 rfk.id.au/blog/entry/xmlns-selectors-jquery/
次に、次の方法を使用して問題を解決できます
コピーコード
コードは次のとおりです。
XML 技術仕様の名前空間は、実際には非常に悪い設計であると言わざるを得ません。それはもたらす以上に、さらに多くの問題を追加します。
この記事の例の完全なコードは次のとおりです
<% @ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
html>
最後にブラウザで見た効果は以下の通りです。写真と真実があります