2010-05-31 6 views
1

약 8000 개의 xml 파일을 텍스트 파일로 변환해야합니다. 텍스트 파일에는 태그가없고 xml 파일의 제목, 설명 및 키워드가 포함되어야하며 다른 요소와 속성도 제거해야합니다. 즉, 나는 xml 파일의 제목, 설명 및 키워드를 포함하는 8000 개의 텍스트 파일을 만들어야합니다. 나는 이것을 체계적으로 수행 할 코딩이 필요하다. 어떤 도움이라도 대단히 감사하겠습니다. 미리 감사드립니다.Xml 파일을 텍스트 파일로 변환하는 방법

+0

나의 새 게시물 덕분에 내 샘플을 살펴 인수 바랍니다 http://stackoverflow.com/questions/2941510/how-to-convert-xml-files-to-text-files-2 – Jason

답변

0

두 가지 가능성이 있습니다. 단순한 XML이라면 다른 텍스트 파일처럼 읽을 수 있고 꺾쇠 괄호를 제외하고 전략적으로 배치 된 구두점을 추가 할 수 있습니다. 또는 XML 판독기와 텍스트 작성기를 열어 원하는 방식으로 출력 할 수 있습니다.

폴더에서 파일 이름을 컬렉션으로 읽으면 루프를 통해 모든 파일을 자동으로 처리 할 수 ​​있습니다.

+0

이봐 로버트 , 답장을 보내 주셔서 감사합니다. 내가이 주제에 정말 익숙하고 감독자가 끝내기 위해 나를 서둘 렀기 때문에 참고 웹 사이트를 얻을 수 있도록 도와 주실 수 있겠습니까? 답장을 보내 주셔서 대단히 감사합니다. – Jason

4

XML에서 텍스트로가는 것은 XSLT에서 일하는 것처럼 냄새가납니다. XML 기반 변환 언어로, XML 입력을 받아 출력 측면에서 텍스트 기반으로 변환 할 수 있습니다.

W3Schools의 더 나은 자습서 중 하나 인 많은 웹 사이트에서 XSLT를 읽을 수 있습니다.

예제 XML을 게시하지 않았기 때문에 XML이 어떻게 생겼는지 실마리가 없으며 출력 결과도 알 수 없습니다. 그러나 가정하는 것은 같은 것을 보일 것이다

<?xml version="1.0" encoding="utf-8"?> 
<root> 
    <title>Some Title</title> 
    <description>Some description</description> 
    <keywords> 
    <keyword>Keyword1</keyword> 
    <keyword>Keyword2</keyword> 
    <keyword>Keyword3</keyword> 
    <keyword>Keyword4</keyword> 
    </keywords> 
</root> 

을 쉽게

에 다른 어떤 형식으로 당신이 찾고있는 YourTextFile.txt

Some Title 
Some Description 
Keyword1,Keyword2,Keyword3,Keyword4 

또는 그를 설정하기 위해 XSLT 변환을 쓸 수 .

+0

나는 과거 xsl을 구현할 때마다 xsl 프로그래밍 언어를 사용하기 위해 많은 노력을 기울 였지만 xsl은 좋은 해결책이 될 것이라고 생각했다. +1은 항상 당신을 염두에두고 별의 결과를 +1 해줍니다. – Gabriel

+0

내 새 게시물을 통해 내 샘플을 살펴보십시오. 감사합니다. http://stackoverflow.com/questions/2941510/how-to-convert-xml-files-to-text-files-2 – Jason

0

내 제안은 파이썬을 사용하는 것입니다. 설정하는 동안 인터프리터를 사용하여 패턴을 실행할 수 있으며 명령 행은 이런 종류의 것을 올바르게 설정하는 데 도움이됩니다. XML이 유효하다고 가정하면 최소한의 번거 로움없이 유연성을 누릴 수 있습니다.

그래서 다음과 같은 XML 형식 가정 :

<root> 
    <title>Document Title</title> 
    <content>Some document content.</content> 
    <keywords>test, document, keyword</keywords> 
</root> 

하고 각 문서의 출력이 있어야합니다 가정 :

import sys 
import os 
from xml.etree.ElementTree import ElementTree 

def Readthexml(f): 
    """Read the file from the argument list and dump the title contents and keywords""" 
    xcontent = ElementTree() 
    xcontent.parse(f) 
    doc = [xcontent.find("title").text, xcontent.find("content").text, xcontent.find("keywords").text] 
    out = open(f + ".txt", "w") 
    out.write("\n\n".join(doc)) 
    return True 

def main(argv=None): 
    if argv is None: 
     argv = sys.argv 
     args = argv[1:] 
     for arg in args: 
      if os.path.exists(arg): 
       Readthexml(arg) 

if __name__ == "__main__": 
    main() 

:

Document Title 

Some document content. 

test, document, keyword 

파이썬 코드가 같은 것을 보일 수 있습니다 거기에서 파일을 정기적으로 업데이트하기위한 배치 파일을 생성 할 수 있습니다 (Windows 환경 그러나 파이썬은 무엇이든간에 작동합니다).

-1

휴대 전화에서 파일로 문자 메시지를 복사했을 때 .xml 형식이며 각 단어 사이에 기호 및 문자가있는 경우 비슷한 정보를 편집하고 싶었습니다. 그래서 메모장 ++을 다운로드하고 .xml 파일을 열었습니다. <title>의 모든 인스턴스를 삭제하고 싶다고합시다. 강조 (샘플 텍스트) 및 바꾸기 아이콘 (상단의 도구 모음에있는 파란색 → 아이콘)을 클릭합니다. '찾으실 내용'입력란에 강조 표시된 텍스트가 표시되고 '바꾸기'입력란을 비워두고 모두 바꾸기를 선택하면 (샘플 텍스트)의 모든 사례가 제거됩니다.모든 기호와 텍스트에 대해이를 수행하고 원하는 것으로 바꾸거나해야합니다. 나는 4800 개가 넘는 라인을 가지고 있었고 훌륭하게 작동했습니다.

+0

개별적으로 8000 개의 파일은별로 재미 있지 않습니다. –

0

무료 버전의 Flexter XML converter을 사용하면 최대 50MB의 압축 된 XML 파일을 한 번에 구문 분석 할 수 있습니다. converting XML to CSV/TSV이라는 간단한 과정을 안내하는 블로그 게시물을 작성했습니다.

관련 문제