XML 데이터 아일랜드와 Dom을 통해 주소록을 생성하는 코드 예제에 대한 자세한 설명
일반적으로 웹사이트에 주소록 프로그램을 제공하려면 백그라운드 데이터베이스 기술과 결합된 CGI를 사용해야 합니다. 이는 웹 서버에서 상대적으로 높은 요구 사항을 가지며 그렇지 않은 많은 가상 호스트에서도 구현할 수 없습니다. 데이터베이스 기능을 제공합니다. 물론 TXT 텍스트를 사용하여 데이터베이스를 대체할 수도 있지만 TXT 텍스트는 작동하기가 더 어렵습니다. 한 줄씩 읽고 판단해야 하며 구분된 문자열을 사용하여 필드를 구분해야 하며 복잡한 작업을 수행할 수 없습니다.
이제 "Extensible Markup Language(xml)"을 사용하여 주소록 데이터를 저장할 수 있으므로 구조화된 데이터 표현 방법인 XML의 장점을 반영할 수 있습니다. 이는 다양한 관계형 데이터 구조로 파일을 저장하는 데 매우 유용합니다. .
1. 기본 원칙:
Microsoft Internet Explorer 5.0 이상 버전에서는 XML 요소를 사용하여 데이터 아일랜드를 만들 수 있습니다. 데이터 아일랜드는 HTML XML 데이터에 참조되거나 포함됩니다. HTML 파일이나 외부 파일에 포함될 수 있습니다. XML 데이터 아일랜드를 사용하면 복잡한 스크립트를 작성하는 수고를 덜 수 있습니다. DOM은 XML 문서를 구문 분석할 수 있으며, 문서의 모든 요소, 엔터티, 속성 등은 객체 모델로 표현될 수 있습니다. 생성된 객체 모델은 트리의 노드와 유사합니다. 각 객체에는 메서드와 속성 외에도 DOM이 노드를 찾기 위한 다양한 메서드를 제공합니다. DOM을 사용하면 개발자는 동적으로 XML을 생성하고, 문서를 탐색하고, 문서 내용을 추가(삭제/수정)할 수 있습니다. DOM에서 제공하는 API는 프로그래밍 언어와 관련이 없으므로 일부 DOM 표준에는 명확하게 정의된 인터페이스가 없으며 구현도 마찬가지입니다. 다양한 파서의 메서드는 다를 수 있습니다.
2. 구체적인 과정은 다음과 같습니다.
1. XML 파일을 다음과 같이 정의합니다.
<?xml version="1.0" encoding="gb2312"?> <中国计算机世界出版服务公司通信录> <计算机世界 contactID="2"> <部门名称>计算机室</部门名称> <电话号码>139</电话号码> <电子邮件>fsdos@163.net</电子邮件> </计算机世界> </中国计算机世界出版服务公司通信录>
위의 XML 문서를 tele.xml 파일로 저장하는 동시에, 위의 XML 문서를 tele.xml 파일로 저장합니다. 초기화 프레임 데이터로 필드 내용을 비워두고 newid.xml 파일로 저장합니다.
2. 클라이언트는 XML 문서를 로드하고 주소록이 위치한 테이블에서 DATASRC='#xmldso'를 통해 XML 파일을 테이블에 바인딩합니다. DATASRC 속성은 실제로 XML 요소의 ID 속성을 통해 전달됩니다. 앞에 #을 추가하면 TD 요소 중간에 표시해야 하는 특정 필드를 지정할 수 있습니다.
3. DOM 기술을 사용하여 주소록에 레코드를 추가하고 삭제합니다. ;
4. xmlhttp 프로토콜 서버를 통해 주소록에 연결하고 XML 문서를 저장합니다.
3. XML DOM 프로그래밍에 대한 간략한 설명:
1. 클라이언트 dom.htm 페이지:
<HTML><BODY bgColor=#a1bae6> <XML id=xmldso src="tele.xml"></XML> <XML id=newid></XML> <!--加载xml数据--> <SCRipT Language=javaScript> newid.async = false; newid.load("newid.xml"); //增加记录; function addID(){ var doc=xmldso.XMLDocument var rootnode=doc.documentElement var sortNode = rootnode.selectNodes("//部门名称") var currentid = sortNode.length-1 var cc=sortNode.item(currentid).text; if ((cc=="尚未输入")||(cc=="")) { alert("请将最后一行数据填写完毕后再增加新的记录!"); } else { var node= newid.documentElement.childNodes(0).cloneNode(true); var contactID=parseInt(sortNode.item(currentid).parentNode.getAttribute("contactID"))+1; node.setAttribute("contactID",contactID); xmldso.documentElement.appendChild(node); } } //删除记录 function delID(whichFld){ var sortNode = xmldso.selectSingleNode("//计算机世界[@contactID='"+whichFld+"']"); if (sortNode.parentNode.childNodes.length>1) sortNode.parentNode.removeChild(sortNode); } </SCRIPT> <script language="vbscript"> Sub cc_onmouseup '保存记录; Dim objXML, objXSL, objfso,strFile, strFileName, strXSL,strURL,TheForm set SaveXMLDoc=xmldso.XMLDocument strURL="dns2.asp" Set objXML = CreateObject("Microsoft.XMLHTTP") '创建MS的XMLHTTP组件; objXML.Open "post",strURL,false '采用Post提交方式; objXML.setrequestheader "content-type","application/x-www-form-urlencoded" objXML.send SaveXMLDoc ' 发送信息,保存XML数据; 'xmlGet = objXML.responsebody '稍等片刻后,得到服务器端传回来的结果; msgbox "保存成功!" Set objXML = Nothing end sub </SCRIPT> <center><b>计算机世界----通信录</b><br><br> <TABLE id="table" DATASRC='#xmldso' BORDER CELLPADDING=3> <!--进行数据绑定--> <THEAD><TH>编号</TH><TH>部门名称</TH><TH>电话号码</TH><TH>电子邮件</TH></THEAD> <TR> <TD><acronym title='点击即可删除该记录'><INPUT TYPE=button size=4 DATAFLD="contactID" onclick="delID(this.value)"></acronym></TD> <TD><INPUT TYPE=TEXT DATAFLD="部门名称"></TD> <TD><INPUT TYPE=TEXT DATAFLD="电话号码"></TD> <TD><INPUT TYPE=TEXT DATAFLD="电子邮件"></TD> </TR> </TABLE> <INPUT TYPE=BUTTON name=dd id=dd VALUE="增加记录" onmouSEOver="this.focus()" onmousedown="addID();"> <INPUT TYPE=BUTTON name=cc id=cc VALUE="保存"></center></BODY></HTML>
2. 서버측 dns2.asp 프로그램은 비교적 간단합니다. XML 데이터 파일 객체를 생성하고 이를 tele.xml에 저장합니다:
< Set ReceivedDoc = CreateObject("Microsoft.XMLDOM") '创建 XML DOM实例; ReceivedDoc.async=False ReceivedDoc.load Request '接收XML数据; Set files=Server.CreateObject("Scripting.FileSystemObject") Set numtxt=files.CreateTextFile(Server.MapPath("tele.xml"),True) numtxt.WriteLine(replace(ReceivedDoc.xml,"?>"," encoding=""gb2312""?>")) '将XML数据写入文件 numtxt.Close response.write ReceivedDoc.xml >
3. 실제로 사용하는 동안 주소록을 표시하는 웹페이지 index.htm도 추가해야 합니다. 이는 실제로는 단순화된 버전입니다. 위 dom.htm의 모든 추가, 삭제, 수정 및 저장 기능을 제거하고 LABEL만 사용하여 테이블 셀에 데이터를 표시합니다.
<HTML><BODY bgColor=#a1bae6> <XML id=xmldso src="tele.xml"></XML> <center><b>计算机世界----通信录</b><br><br> <TABLE id="table" DATASRC='#xmldso' BORDER CELLPADDING=3> <THEAD><TH>编号</TH><TH>部门名称</TH><TH>电话号码</TH><TH>电子邮件</TH> </THEAD> <TR> <TD><label DATAFLD="contactID"></label></TD> <TD><label DATAFLD="部门名称"></label></TD> <TD><label DATAFLD="电话号码"></label></TD> <TD><label DATAFLD="电子邮件"></label></TD> </TR> </TABLE> </center></BODY></HTML>
4. Dom 기술과 결합된 XML 데이터 아일랜드 사용의 장점:
1. 우선 XML 자체가 장점을 가지고 있습니다. XML은 태그 정의의 독점을 깨뜨립니다. 이 기사에 사용된 XML 파일에서는 필드 이름도 중국어에 대한 설명이 아니기 때문에 매우 간단하고 명확합니다. 디스플레이에 대한 설명이 아니라 정보의 의미론적 의미로 문서의 가독성을 크게 향상시킵니다. XML을 사용하면 서로 다른 시스템 간에 정보를 쉽게 전송할 수도 있습니다.
2. XML Data Island를 사용하면 사용자가 서버와 자주 상호 작용하지 않고도 클라이언트의 데이터 세트에 액세스하고 조작할 수 있으므로 서버의 부하를 줄이는 데 매우 유용합니다. 동시에 XML 데이터 아일랜드 자체의 특성으로 인해 클라이언트에서의 데이터 작업은 매우 간단하고 프로그래밍 양이 줄어듭니다.
3. DOM은 XML 문서의 정보에 액세스하기 위해 트리 모델을 강제로 사용하므로 이 설명 방법은 매우 효과적입니다. DOM 인터페이스를 통해 애플리케이션은 언제든지 XML 문서에 있는 데이터의 모든 부분에 액세스할 수 있으며 제어가 매우 유연합니다.
4. xmlhttp 객체를 사용하여 XML 데이터를 서버로 전송하면 클라이언트 페이지가 깜박임 없이 새로 고쳐집니다.
이 프로그램은 Windows 2000 플랫폼 기반의 IIS5.0 및 IE5.0에서 성공적으로 실행됩니다. 실제 신청 과정에서는 XSL 기술과 결합된 DOM을 사용하여 주소록에 정렬, 형식 변환, 데이터 검색 등의 기능을 추가할 수도 있으며, XML 데이터 아일랜드의 datapagesize 속성과 PReviousPage 및 nextPage 기능을 사용하여 추가할 수도 있습니다. 주소록에 대한 페이징 기능 DTD 및 XML 스키마를 사용하여 주소록 데이터를 동적으로 확인합니다.
---------------끝------ ----
첨부: (모든 소스 프로그램)
****************************** **********************************************
一, index.htm(주소록 표시):
<HTML><BODY bgColor=#a1bae6> <XML id=xmldso src="tele.xml"></XML> <center><b>计算机世界----通迅录</b><br><br> <TABLE id="table" DATASRC='#xmldso' BORDER CELLPADDING=3> <THEAD><TH>编号</TH><TH>部门名称</TH><TH>电话号码</TH><TH>电子邮件</TH> </THEAD> <TR> <TD><label DATAFLD="contactID"></label></TD> <TD><label DATAFLD="部门名称"></label></TD> <TD><label DATAFLD="电话号码"></label></TD> <TD><label DATAFLD="电子邮件"></label></TD> </TR> </TABLE> </center></BODY></HTML>
************************************ * *****************************************
둘, dom.htm(온라인 주소록 편집):
<HTML><BODY bgColor=#a1bae6> <XML id=xmldso src="tele.xml"></XML> <XML id=newid></XML> <SCRIPT Language=Javascript> newid.async = false; newid.load("newid.xml"); function addID(){ var doc=xmldso.XMLDocument var rootnode=doc.documentElement var sortNode = rootnode.selectNodes("//部门名称") var currentid = sortNode.length-1 var cc=sortNode.item(currentid).text; if ((cc=="尚未输入")||(cc=="")) { alert("请将最后一行数据填写完毕后再增加新的记录!"); } else { var node= newid.documentElement.childNodes(0).cloneNode(true); var contactID=parseInt(sortNode.item(currentid).parentNode.getAttribute("contactID"))+1; node.setAttribute("contactID",contactID); xmldso.documentElement.appendChild(node); } } function delID(whichFld){ var sortNode = xmldso.selectSingleNode("//计算机世界[@contactID='"+whichFld+"']"); if (sortNode.parentNode.childNodes.length>1) sortNode.parentNode.removeChild(sortNode); } </SCRIPT> <script language="vbscript"> Sub cc_onmouseup '当点击“保存”按钮时触发; Dim objXML, objXSL, objFSO,strFile, strFileName, strXSL,strURL,TheForm set SaveXMLDoc=xmldso.XMLDocument strURL="dns2.asp" Set objXML = CreateObject("Microsoft.XMLHTTP") '创建MS的XMLHTTP组件; objXML.Open "post",strURL,false '采用Post提交方式; objXML.setrequestheader "content-type","application/x-www-form-urlencoded" objXML.send SaveXMLDoc ' 发送信息 'xmlGet = objXML.responsebody '稍等片刻后,得到服务器端传回来的结果; msgbox "保存成功!" Set objXML = Nothing end sub </SCRIPT> <center><b>计算机世界----通信录</b><br><br> <TABLE id="table" DATASRC='#xmldso' BORDER CELLPADDING=3> <THEAD> <TH>编号</TH> <TH>部门名称</TH> <TH>电话号码</TH> <TH>电子邮件</TH> </THEAD> <TR> <TD><acronym title='点击即可删除该记录'><INPUT TYPE=button size=4 DATAFLD="contactID" onclick="delID(this.value)"></acronym></TD> <TD><INPUT TYPE=TEXT DATAFLD="部门名称"></TD> <TD><INPUT TYPE=TEXT DATAFLD="电话号码"></TD> <TD><INPUT TYPE=TEXT DATAFLD="电子邮件"></TD> </TR> </TABLE> <INPUT TYPE=BUTTON name=dd id=dd VALUE="增加记录" onmouseover="this.focus()" onmousedown="addID();"> <INPUT TYPE=BUTTON name=cc id=cc VALUE="保存"></center></BODY></HTML>
************************************ *** **********************************************
3. dns2.asp (백그라운드에 주소록 저장):
<% Set ReceivedDoc = CreateObject("Microsoft.XMLDOM") ReceivedDoc.async=False ReceivedDoc.load Request Set files=Server.CreateObject("Scripting.FileSystemObject") Set numtxt=files.CreateTextFile(Server.MapPath("tele.xml"),True) numtxt.WriteLine(replace(ReceivedDoc.xml,"?>"," encoding=""gb2312""?>")) numtxt.Close response.write ReceivedDoc.xml %>
************************ ********** **************************************** *****
4. tele.xml (주소록 XML 문서) :
<?xml version="1.0" encoding="gb2312"?> <中国计算机世界出版服务公司通信录> <计算机世界 contactID="1"> <部门名称>电话总机</部门名称> <电话号码>010-68130909</电话号码> <电子邮件>webmaster@ccw.com.cn</电子邮件> </计算机世界> </中国计算机世界出版服务公司通信录>
****************************************************************************
五、newid.xml(通讯录XML初始化文档):
<?xml version="1.0" encoding="gb2312"?> <中国计算机世界出版服务公司通信录> <计算机世界 contactID="1"> <部门名称>尚未输入</部门名称> <电话号码>保密</电话号码> <电子邮件>保密</电子邮件> </计算机世界> </中国计算机世界出版服务公司通信录>
以上就是用XML数据岛结合Dom制作通讯录的代码实例详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!
相关文章:

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











XML 파일을 PPT로 열 수 있나요? XML, Extensible Markup Language(Extensible Markup Language)는 데이터 교환 및 데이터 저장에 널리 사용되는 범용 마크업 언어입니다. HTML에 비해 XML은 더 유연하고 자체 태그와 데이터 구조를 정의할 수 있으므로 데이터 저장과 교환이 더 편리하고 통합됩니다. PPT 또는 PowerPoint는 프레젠테이션 작성을 위해 Microsoft에서 개발한 소프트웨어입니다. 이는 포괄적인 방법을 제공합니다.

Python의 XML 데이터를 CSV 형식으로 변환 XML(ExtensibleMarkupLanguage)은 데이터 저장 및 전송에 일반적으로 사용되는 확장 가능한 마크업 언어입니다. CSV(CommaSeparatedValues)는 데이터 가져오기 및 내보내기에 일반적으로 사용되는 쉼표로 구분된 텍스트 파일 형식입니다. 데이터를 처리할 때, 간편한 분석과 처리를 위해 XML 데이터를 CSV 형식으로 변환해야 하는 경우가 있습니다. 파이썬은 강력하다

C# 개발에서 XML 및 JSON 데이터 형식을 처리하려면 특정 코드 예제가 필요합니다. 최신 소프트웨어 개발에서는 XML과 JSON이 널리 사용되는 두 가지 데이터 형식입니다. XML(Extensible Markup Language)은 데이터를 저장하고 전송하는 데 사용되는 마크업 언어인 반면, JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. C# 개발에서는 XML 및 JSON 데이터를 처리하고 조작해야 하는 경우가 많습니다. 이 기사에서는 C#을 사용하여 이 두 가지 데이터 형식을 처리하고 첨부하는 방법에 중점을 둘 것입니다.

Python을 사용하여 XML로 데이터 검증 구현 소개: 실생활에서 우리는 종종 다양한 데이터를 처리하며, 그중 XML(Extensible Markup Language)이 일반적으로 사용되는 데이터 형식입니다. XML은 가독성과 확장성이 좋아 데이터 교환, 구성 파일 등 다양한 분야에서 널리 사용됩니다. XML 데이터를 처리할 때 데이터의 무결성과 정확성을 보장하기 위해 데이터를 확인해야 하는 경우가 많습니다. 이 기사에서는 Python을 사용하여 XML로 데이터 검증을 구현하는 방법을 소개하고 그에 상응하는 결과를 제공합니다.

최근 가장 인기 있는 휴대폰은 아마 최근 출시된 샤오미 14를 떠올릴 것이다. 이 휴대폰의 성능 구성도 매우 좋고, 사용자 경험도 매우 좋다. 누구나 쉽게 사용할 수 있도록 Xiaomi Mi 14에서 주소록 블랙리스트를 설정하는 방법을 편집자가 소개하겠습니다. 관련 내용을 살펴보겠습니다. Xiaomi Mi 14에서 주소록 블랙리스트를 설정하는 방법은 무엇입니까? 휴대폰 홈 화면에서 "전화" 앱을 연 다음 하단 탐색 표시줄에서 "연락처" 옵션을 찾아 클릭하여 들어갑니다. 연락처 목록을 탐색하고 블랙리스트에 추가하려는 연락처를 찾은 다음 연락처의 아바타 또는 이름을 길게 누릅니다. 잠시 후 작업을 선택할 수 있는 메뉴가 나타납니다. 팝업 메뉴에서 "이 연락처를 블랙리스트에 추가" 또는 유사한 옵션을 선택하십시오. 시스템은 올바른 내용을 표시합니다

Python이 XML 파일을 구문 분석하는 방법 XML(eXtensibleMarkupLanguage)은 구조화된 데이터를 나타내는 데 사용되는 마크업 언어입니다. XML 데이터를 처리할 때 필요한 정보를 추출하기 위해 XML 파일을 구문 분석해야 하는 경우가 많습니다. Python은 ElementTree, lxml 등과 같은 XML 파일을 구문 분석하는 많은 라이브러리와 모듈을 제공합니다. 이 기사에서는 코드 예제와 함께 Python을 사용하여 XML 파일을 구문 분석하는 방법을 소개합니다. 파이썬에서는

Jackson은 Java 개체를 JSON으로, JSON을 Java 개체로 변환하는 데 유용한 Java 기반 라이브러리입니다. JacksonAPI는 다른 API보다 빠르고 메모리 공간이 덜 필요하며 대형 개체에 적합합니다. XmlMapper 클래스의 writeValueAsString() 메서드를 사용하여 POJO를 XML 형식으로 변환하고 해당 POJO 인스턴스를 이 메서드에 매개 변수로 전달해야 합니다. 구문 publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingExceptionExampleimp

PHPXML 함수를 사용하여 XML 데이터 처리: XML 데이터 구문 분석: simplexml_load_file() 및 simplexml_load_string()은 XML 파일 또는 문자열을 로드합니다. XML 데이터에 액세스: SimpleXML 개체의 속성과 메서드를 사용하여 요소 이름, 속성 값 및 하위 요소를 가져옵니다. XML 데이터 수정: addChild() 및 addAttribute() 메서드를 사용하여 새 요소와 속성을 추가합니다. 직렬화된 XML 데이터: asXML() 메서드는 SimpleXML 객체를 XML 문자열로 변환합니다. 실제 예: 제품 피드 XML을 구문 분석하고, 제품 정보를 추출하고, 변환하여 데이터베이스에 저장합니다.
