XML을 사용하여 BBS를 구현하는 방법에 대한 자세한 소개(주제 목록)
테이블 A:
1-0-1,this is a test 3-1-1,this is a test 4-3-1,this is a test 5-3-1,this is a test 2-0-2,this is a test
위는 BBS 주제 목록의 예입니다. 일반적으로 Oracle을 사용하지 않는 경우(Oracle에는 자동으로 가계도를 생성할 수 있는 쿼리 문이 있습니다. Select ... startwith ... connect by ... 문을 확인하세요.) 그런 다음 목록에서 목록을 구현하는 방법은 다음과 같습니다. 위의 예는 작업에 문제가 있습니다(많은 프로그래머가 이 글을 작성했다고 생각합니다).
대신 xml을 사용하면 결과는 어떻게 될까요?
이제 "Select * from bbs"를 사용하여 데이터베이스에서 게시물을 쿼리하고 XML 형식으로 반환합니다(ADO를 사용하는 경우 RecordSet.Save... adPersistXML을 사용하여 직접 생성할 수 있습니다. 물론, 마음에 들지 않으면 ADO에서 생성된 형식을 다음 예와 같은 프로그램으로 생성할 수 있습니다.
테이블 B:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="b.xsl"?> <bbs> <post sid="4" pid="3" aid="1"> <title>4-3-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="5" pid="3" aid="1"> <title>5-3-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="3" pid="1" aid="1"> <title>3-1-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="1" pid="0" aid="1"> <title>1-0-1,this is a test</title> <content>slddfjslajfsdljf</content> </post> <post sid="2" pid="0" aid="2"> <title>2-0-2,this is a test</title> <content>slddfjslajfsdljf</content> </post> </bbs>
설명: 여기서 sid는 ID 번호입니다. 게시물의 pid는 게시물의 상위 ID 번호입니다. title은 제목이고 content는 게시물의 내용입니다.
위 표의 두 번째 줄에서는 b.XSL을 사용하여 XML 콘텐츠를 변환하도록 지정합니다. IE5에 제공되는 정보입니다. XMLDOM을 사용하는 경우에는 이 메시지가 필요하지 않습니다.
위 테이블의 XML 내용을 테이블 A 형식의 XSL 파일로 표시하는 방법을 살펴보겠습니다.
테이블 C: b.XSL
<?xml version=''1.0''?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <html> <body> <xsl:apply-templates select="*"/> </body> </html> </xsl:template> <xsl:template match="post"> <li> <div> <xsl:attribute name="title"><xsl:value-of select="content"/></xsl:attribute> <xsl:value-of select="title"/> <xsl:if test="/bbs/post[@pid=context()/@sid]"> <xsl:element name="ul"> <xsl:apply-templates select="/bbs/post[@pid=context()/@sid]"/> </xsl:element> </xsl:if> </div> </li> </xsl:template> <xsl:template match="bbs"> <ul> <xsl:apply-templates select="post[@pid=0]"/> </ul> </xsl:template> </xsl:stylesheet>
이제, 테이블 B의 내용을 abc.xml로 저장하고, 테이블 C의 내용을 b.xsl로 저장한 후 IE5에서 열면 테이블 A와 동일한 내용을 볼 수 있습니다.
따라서 XSL 파일이 최종 표시 결과를 결정한다는 것을 알 수 있습니다. 하위 포럼이 여러 개인 경우 포럼 프로그램을 변경할 필요가 없습니다. 각 하위 포럼마다 서로 다른 XSL 파일을 제공하기만 하면 스타일, 화면 또는 스타일에 관계없이 각 하위 포럼이 고유한 성능을 갖도록 만들 수 있습니다. 테마 배열. 무료 포럼 서비스가 제공된다면 포럼 신청자가 자신의 XSL 파일을 사용자 정의할 수 있도록 하는 것이 좋은 선택이 될 것입니다.
그런데 클라이언트가 XML을 지원하지 않는다면 어떻게 될까요? 대답은 간단합니다. 서버는 먼저 XML을 HTML로 변환한 다음 이를 클라이언트에 전송합니다.
다음으로 IIS4/5+IE5+asp를 사용하여 이 예제를 구현합니다(서버에 IE5가 설치되어 있어야 함).
<%@ LANGUAGE = JScript %> <% Set rsXML=Server.CreateObject("ADODB.RecordSet"); sSQL = “SELECT * from bbs" sConn = “你自个儿写” rsXML.CursorLocation = adUseClient rsXML.Open sSQL, sConn, adOpenStatic //指定XSL文件位置 var styleFile = Server.MapPath("simple.xsl"); // Save the XML to XMLDOM var source = Server.CreateObject("Microsoft.XMLDOM"); ''rsXML.Save source, adPersistXML ''我相当不喜欢ADO直接Save出来的XML文档,我总是这样做: Dim GetData,v GetData = GetData & "<bbs>" while not RS_ForumInfo.EOF GetData = GetData & "<post>" for i = 0 to RS_ForumInfo.Fields.Count -1 set v = RS_ForumInfo.Fields.Item(i) if (v.Type=201)or(v.Type=203)or(v.Type=205) then GetData = GetData& "<" & RS_ForumInfo.Fields.Item(i).Name &">" &_ "<![CDATA[" & RS_ForumInfo.Fields.Item(i).Value & "]]>" &_ "</" & RS_ForumInfo.Fields.Item(i).Name &">" else GetData = GetData& "<" & RS_ForumInfo.Fields.Item(i).Name &">" &_ RS_ForumInfo.Fields.Item(i).Value &_ "</" & RS_ForumInfo.Fields.Item(i).Name &">" end if set v = Nothing next GetData = GetData & "</post>" RS_ForumInfo.MoveNext wend GetData = GetData & "</bbs>" source.loadXML GetData // Load the XSL var style = Server.CreateObject("Microsoft.XMLDOM"); style.async = false; style.load(styleFile); Response.Write(source.transformNode(style)); %>
물론 단순화를 위해 ADO가 직접 사용됩니다. XML을 생성하므로 simple.xsl은 위의 b.xsl과 다릅니다.
독자는 위의 예제와 XSL 참조 자료(2000년 MSDN에 더 자세한 XML/XSL SDK 문서가 있음)를 참조하여 작성할 수 있습니다. (끝)
위 내용은 XML을 이용한 BBS 구현(주제 목록)에 대한 자세한 소개입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++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 데이터 병합 및 중복 제거 XML(eXtensibleMarkupLanguage)은 데이터를 저장하고 전송하는 데 사용되는 마크업 언어입니다. XML 데이터를 처리할 때 여러 XML 파일을 하나로 병합하거나 중복된 데이터를 제거해야 하는 경우가 있습니다. 이 기사에서는 Python을 사용하여 XML 데이터 병합 및 중복 제거를 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다. 1. XML 데이터 병합 XML 파일이 여러 개인 경우 이를 병합해야 합니다.

Python을 사용하여 XML 데이터 필터링 및 정렬 구현 소개: XML은 데이터를 태그 및 속성 형식으로 저장하는 일반적으로 사용되는 데이터 교환 형식입니다. XML 데이터를 처리할 때 데이터를 필터링하고 정렬해야 하는 경우가 많습니다. Python은 XML 데이터를 처리하는 데 유용한 많은 도구와 라이브러리를 제공합니다. 이 기사에서는 Python을 사용하여 XML 데이터를 필터링하고 정렬하는 방법을 소개합니다. XML 파일 읽기 시작하기 전에 XML 파일을 읽어야 합니다. Python에는 많은 XML 처리 라이브러리가 있습니다.

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

PHP를 사용하여 데이터베이스로 XML 데이터 가져오기 소개: 개발 중에 추가 처리 및 분석을 위해 외부 데이터를 데이터베이스로 가져와야 하는 경우가 많습니다. 일반적으로 사용되는 데이터 교환 형식인 XML은 구조화된 데이터를 저장하고 전송하는 데 자주 사용됩니다. 이 기사에서는 PHP를 사용하여 XML 데이터를 데이터베이스로 가져오는 방법을 소개합니다. 1단계: XML 파일 구문 분석 먼저 XML 파일을 구문 분석하고 필요한 데이터를 추출해야 합니다. PHP는 XML을 구문 분석하는 여러 가지 방법을 제공하며 그 중 가장 일반적으로 사용되는 방법은 Simple을 사용하는 것입니다.

Python은 XML과 JSON 간의 변환을 구현합니다. 소개: 일상적인 개발 프로세스에서 우리는 종종 서로 다른 형식 간에 데이터를 변환해야 합니다. XML과 JSON은 일반적인 데이터 교환 형식입니다. Python에서는 다양한 라이브러리를 사용하여 XML과 JSON을 변환할 수 있습니다. 이 문서에서는 코드 예제와 함께 일반적으로 사용되는 몇 가지 방법을 소개합니다. 1. Python에서 XML을 JSON으로 변환하려면 xml.etree.ElementTree 모듈을 사용할 수 있습니다.

Python을 사용하여 XML에서 오류 및 예외 처리하기 XML은 구조화된 데이터를 저장하고 표현하는 데 일반적으로 사용되는 데이터 형식입니다. Python을 사용하여 XML을 처리할 때 때때로 오류와 예외가 발생할 수 있습니다. 이 기사에서는 Python을 사용하여 XML의 오류 및 예외를 처리하는 방법을 소개하고 참조용 샘플 코드를 제공합니다. XML 구문 분석 오류를 잡기 위해 try-Exception 문을 사용하십시오. Python을 사용하여 XML을 구문 분석할 때 가끔 오류가 발생할 수 있습니다.

bbs의 정식 명칭은 Bulletin Board System으로, 중국어로 '전자 게시판 시스템'을 의미합니다. 일반적으로 온라인 포럼을 의미하며 네트워크 기술과 관련된 온라인 커뮤니케이션 장소입니다. 특징: 많은 양의 정보, 빠른 정보 업데이트, 강력한 상호작용성.
