웹 디자인 에서 XML 데 이 터 를 어떻게 사용 합 니까?

XML 데이터 원본 대상 은 ActiveX 컨트롤 로 XML 파일 과 HTML 페이지 사이 에서 데 이 터 를 조작 할 수 있 습 니 다.본 고 는 각종 XML 데이터 원본 에서 데 이 터 를 추출 하 는 방법 과 자 바스 크 립 트 를 사용 하여 이 데 이 터 를 표시 하 는 방법 을 보 여 드릴 것 입 니 다.
XML 데이터 원본 대상 DSO 는 마이크로소프트 ActiveX 컨트롤 로 마이크로소프트 IE4 이후 버 전에 구축 된다.이 대상 은 외부 XML 파일 이나 HTML 파일 에 포 함 된 내용 을 HTML 페이지 로 추출 할 수 있 습 니 다.웹 페이지 에서 XML-DSO 를 사용 하여 외부 XML 파일 에서 내용 을 선택 하고 웹 페이지 에 포 함 된 XML 에서 XML 데 이 터 를 추출 한 다음 자 바스 크 립 트 를 사용 하여 이 데 이 터 를 조작 할 수 있 습 니 다.그러나 DSO 는 MSIE 4 이상 의 브 라 우 저 에서 만 작 동 할 수 있 기 때문에 호환성 문 제 를 가 져 올 수 있 습 니 다.따라서 기업 내부 망 에 XML-DSO 를 사용 하 는 것 이 적합 하 다.XML-DSO 대상 을 초기 화하 기 위해<OBJECT>표 시 를 사용 합 니 다.XML-DSO 에 사용 되 는 CLASSID 는 CLSID:550 dda 30-0541-11d2-9ca9-0060b0ec3d 39 라 는 ID 의 유일한 표지 XML-DSO 입 니 다.아래 코드 를 사용 하여 웹 페이지 에서 이 컨트롤 을 초기 화 합 니 다.<OBJECT ID="SomeID"CLASSID="CLSID:550 dda 30-0541-11d2-9ca9-0060b0ec3d 39"></OBJECT>대부분의 대상 은 많은 매개 변수 와 관련 이 필요 하지만 XML-DSO 는 어떠한 매개 변수 도 필요 하지 않 습 니 다.XML 데이터 섬 을 사용 하여 데 이 터 를 분석 하려 면 먼저<XML>표 시 를 통 해 XML 데이터 섬 을 포함 합 니 다.그 다음 에 나중에 사용 할 수 있 도록 ID,xmldb 를 할당 합 니 다.데 이 터 는 실제 적 으로 HTML 표 시 를 사용 합 니 다:<ALT>,<SPAN>,<DIV>등 추출 한 것 입 니 다.코드 목록 1 의 코드 는<SPAN>표 시 를 사 용 했 습 니 다.datasrc 속성 은 데 이 터 를 추출 하고 싶 은 데이터 섬 을 지정 합 니 다.datafld 속성 은 원 하 는 데이터 의 XML 표 시 를 지정 합 니 다.따라서 첫 번 째<SPAN>는 명칭 을 추출 하고 두 번 째<SPAN>는 성별 을 추출 합 니 다.코드 목록 1:<!example1.htm --><html><head><title>XML DSO-example1.htm</title></head><body bgcolor="#FFFFFF"><xml id="xmldb"><db><member><name>Premshree Pillai<name><sex>male</sex></member><member><name>Vinod</name><sex>male</sex></member></db></xml><span datasrc="#xmldb"datafld="name"</span><br><span datasrc="\#xmldb"datafld="sex"></span></body></html>이 코드 가 XML-DSO 대상 을 초기 화하 지 않 았 음 을 주의 하 십시오.XML 데이터 섬 사용 중 하 나 를 암시 적 으로 만 들 었 기 때문이다.수출 은 Premshree Pillaimale 로 XML 데이터 섬 에 두 개의<name>및<sex>표 시 를 주의해 야 한다.이 방법 을 사용 하면 이 태그 의 첫 번 째 인 스 턴 스 만 추출 할 수 있 습 니 다.코드 목록 2 의 코드 사용<TABLE>태그 추출 모든 인 스 턴 스:출력 은 Name Sex Premshree Pillai male Vinod male 이 코드 목록 2 에서<TABLE>태그 사용<TD>태그 내의<DIV>태그 추출 데이터 입 니 다.표 는<member>(<name>및<sex>의 모 표기)의 모든 인 스 턴 스 를 자동 으로 중복 합 니 다.
코드 목록 2:<!example2.htm --><html><head><title>XML DSO-example2.htm</title></head><body bgcolor="#FFFFFF"><xml id="xmldb"><db><member><name>Premshree Pillai<name><sex>male</sex></member><member><name>Vinod</name><sex>male</sex></member></db></xml><table datasrc="#xmldb"border="1"><thead><th>Name</th><th>Sex</th><tr><td><div datafld="name"></div><td><div datafld="sex"></div></div>외부 XML 파일 추출 데 이 터 를 사용 하기 위해 XML-DSO 를 사용 하여 외부 XML 파일 을 불 러 옵 니 다.이 대상 을 명시 적 으로 포함 하고 자바 스 크 립 트 를 사용 해 야 합 니 다.먼저 XML-DSO 대상 을 만 들 고 ID myXML 을 사용 합 니 다.<OBJECT>태그 에 너비 와 높이 속성 을 추가 한 후 그들의 값 을 0 으로 설정 합 니 다.이것 은 XML-DSO 대상 이 웹 페이지 의 어떠한 공간 도 차지 하지 않 을 것 을 보장 합 니 다.그 다음 에 datasrc 를 사용 하여 my XML 과 같은 표를 만 듭 니 다.코드 목록 2 와 같 습 니 다.코드 는<DIV>태그(TD 태그 에 있 는)를 사용 하여 데 이 터 를 추출 하고 datafld 를 첫 번 째 칸 의 정보 로 사용 하 며 URL 을 두 번 째 칸 으로 사용 합 니 다.<SCRIPT>표 시 를 추가 합 니 다.외부 XML 은 자바 스 크 립 트 를 사용 하여 불 러 오고 싶 은 XML 파일 을 명시 적 으로 설명 하기 때 문 입 니 다.변수 xmlDso 를 myXML.XMLdocument 으로 설정 합 니 다.my XML 은 만 든 대상 을 참조 합 니 다.다음은 XML-DSO 의 load()방법 으로 example 3.xml 를 불 러 옵 니 다.파일 example 3.xml 을 대상 my XML 에 연결 합 니 다.<!-example3.xml --><?xml version="1.0" ?><ticker><item><message>JavaScript Ticker using XML DSO</message><URL>http://someURL.com</URL></item></ticker>현재 아래 HTML 페이지 를 연구 해 보 세 요:<!example3.htm --><html><head><title>XML DSO-example3.htm</title><script language="JavaScript">function load() {var xmlDso=myXML.XMLDocument;xmlDso.load("example3.xml");}</script></head><body bgcolor="#FFFFFF" onLoad="load()"><object id="myXML" CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" width="0" height="0"></object><table datasrc="#myXML" border="1"><thead><th>Message</th><th>URL</th></thead><tr><td><div datafld="message"></div></td><td><div datafld="URL"></div></td></tr></table></body></html>출력 은 XML DSO 를 사용 하 는 메시지 URL JavaScript Ticker 여야 합 니 다.http://someURL.com위의 스 크 립 트 는 매우 특수 하 다.다음은 더욱 일반적인 스 크 립 트 를 드 립 니 다.<script language="JavaScript">var xmlDso;function load(xmlFile, objName) {eval(''xmlDso=''+objName+''.XMLDocument'');xmlDso.load(xmlFile);}</script>Now, to load any XML file use: load("SomeXMLFile.xml","anyXmlDsoObject");(csdn)(출처:PConline)

좋은 웹페이지 즐겨찾기