이 글은 Python 기본 튜토리얼 프로젝트의 세 가지 범용 XML을 주로 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.
이 프로젝트의 이름은 범용 XML이라고 부르지 않고 자동이라고 부르는 것이 좋습니다. 웹사이트는 XML 파일을 기반으로 해당 디렉토리 구조를 가진 웹사이트를 생성합니다. 그러나 HTML만 가지고 있기에는 너무 간단합니다. CSS도 생성할 수 있다면 더 강력할 것입니다. 이는 향후 개발이 필요합니다. 먼저 HTML 웹 사이트를 구성하는 방법을 살펴보겠습니다. 웹사이트는 XML 구조로 생성되므로 모든 내용은 이 XML 파일에서 나와야 합니다. 먼저 이 XML 파일인 웹사이트를 살펴보겠습니다.
먼저 이 xml 파일을 구문 분석해야 합니다. Python은 xml을 java와 동일하게 구문 분석합니다. 두 가지 처리 방법의 차이점은 속도와 범위입니다. 문서의 작은 부분이 메모리를 빠르고 효율적으로 활용할 수 있지만, 후자는 먼저 모든 문서를 메모리에 로드한 후 처리하는 방식입니다. 장점은 전체 문서를 조작할 수 있다는 것입니다.
sax를 사용하여 Python에서 xml을 처리하려면 먼저 xml.sax의 구문 분석 기능과 xml.sax.handler의 ContentHandler 클래스를 구문 분석 기능과 함께 사용해야 합니다. 사용법은 다음과 같습니다: 구문 분석('xxx.xml',xxxHandler), 여기서 xxxHandler는 위의 ContentHandler를 상속해야 하지만 상속만 하면 됩니다. 아무 것도 할 필요가 없습니다. 그런 다음 구문 분석 함수가 xml 파일을 처리할 때 xxxHandler의 startElement 함수와 endElement 함수를 호출하여 xml의 태그를 시작하고 끝냅니다. 중간 프로세스는 태그 내부의 모든 문자열을 처리하기 위해 문자라는 함수를 사용합니다. 책의 구현이 더 복잡하고 유연하다는 코드 부분을 살펴보겠습니다. 먼저 살펴보고 분석해 보겠습니다.
<website> <page name="index" title="Home page"> <h1>Welcome to my Home page</h1> <p>Hi, there. My name is Mr.gumby,and this is my home page,here are some of my int:</p> <ul> <li><a href="interests/shouting.html" rel="external nofollow" >Shouting</a></li> <li><a href="interests/sleeping.html" rel="external nofollow" >Sleeping</a></li> <li><a href="interests/eating.html" rel="external nofollow" >Eating</a></li> </ul> </page> <directory name="interests"> <page name="shouting" title="Shouting"> <h1>shouting page</h1> <p>....</p> </page> <page name="sleeping" title="Sleeping"> <h1>sleeping page</h1> <p>...</p> </page> <page name="eating" title="Eating"> <h1>Eating page</h1> <p>....</p> </page> </directory> </website>
이 프로그램에 대한 분석은 좀 더 복잡한 것 같지만 위대한 인물 마오마오(Maomao)는 어떤 복잡한 프로그램도 종이 호랑이라고 말했습니다. 그럼 이 프로그램을 다시 분석해 보겠습니다.
우선 이 프로그램은 클래스가 두 개로 구성되어 있는 것을 보니 사실 상속 때문에 하나의 클래스로 볼 수 있습니다.
그럼 우리가 분석한 startElement, endElement 외에도 startPage, endDirectory, defaultStart, writeFooter와 같은 추가 기능이 있는지 살펴보겠습니다. . 디스패치를 제외하고 이전 기능은 이해하기 쉽습니다. 각 기능 쌍은 해당 html 태그와 xml 노드를 간단히 처리합니다. 디스패치는 기능을 동적으로 결합하고 실행하는 데 사용된다는 점이 더 복잡합니다.
관련 권장 사항:
파이썬 기초 튜토리얼 프로젝트 네 번째는 뉴스 취합
위 내용은 Python 기본 튜토리얼 프로젝트 세 가지 범용 XML의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!