그러나 불행하게도 많은 서비스에서 반환되는 데이터는 여전히 XML 형식입니다.
jquery에는 xml 등의 데이터 처리를 지원하는 기능이 내장되어 있으며 이에 대해서는 아무런 문제가 없습니다. 그러나 전제는 반환된 데이터에 네임스페이스가 없다는 것입니다. 예를 들어 다음 데이터
var div = $("#placeholder")
// 네임스페이스 없이 xml 처리
$.get("data.xml", null, function (data) {
var Employees = $("Employee", data); //모든 Employee 노드 찾기
var ul = $("
")
employees .each(function ( ) {
$("
").text($(this).attr("firstName") " " $(this).attr("lastName")). appendTo(ul); // 데이터의 각 행에 대해 새 li 태그를 생성하고 ul에 삽입합니다.
ul.appendTo(div)
});
그러나 XML 데이터에 네임스페이스가 있으면 위 코드는 유효하지 않습니다. 그 이유는 jquery가 기본적으로
코드는 다음과 같습니다.
ul.appendTo(div)
>
XML 기술 사양의 네임스페이스는 정말 잘못된 디자인이라고 말씀드리고 싶습니다. 그것은 가져오는 것보다 더 많은 문제를 추가합니다.
이 글에 나오는 예제의 전체 코드는 다음과 같습니다
<% @ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>