2012-08-04 3 views
2

사용자가 <input type="file">을 사용하여 XML 파일을 업로드 할 수있게하려고합니다. 이 파일이 다음과 같다고 가정 해 보겠습니다.사용자가 업로드 한 XML 파일을 사용하는 방법은 무엇입니까?

<fruit>Watermelon</fruit> 
<fruit>Banana</fruit> 

사용자가이 파일을 업로드하면 프로그램은 XML의 정보 (이 경우 과일)를 사용합니다. 그게 가능하니? 참고 : 저는 초보자입니다. 가능한 경우 자세히 설명해주십시오. 업로드 된 파일에 액세스하는 방법을 모르겠습니다.

이 프로젝트에서는 jQuery를 사용하고 있습니다. jQuery에서이 문제에 대한 해결책이 없다면, 어떤 언어를 사용해야하는지 알려주십시오.

+1

XML 파일이 아닙니다. XML 파일은 하나의 루트 요소 만 허용됩니다. – Quentin

+0

아, 맞아. 나는 그것을 몰랐다! – user1576660

답변

2

jQuery는 클라이언트 측 라이브러리입니다 .jQuery는 클라이언트 브라우저에서 실행됩니다.

파일을 업로드하여 PHP/ASP.NET 등의 서버 측 언어로 처리 할 수 ​​있습니다. 모든 작업을 수행 할 수 있습니다 (파일을 디스크에 저장/콘텐츠 읽기 등). 이 파일은 서버쪽에 있습니다.

페이지에 파일 업로드 제어 기능이있는 마크 업이 있어야합니다. 파일을 서버 페이지로 보내려면 enctype 값이 multipart/form-data이어야합니다.

<form action="myServerpage.php" method="post" enctype="multipart/form-data"> 
    <input type="file" id="someId" name="someName"> 
    <input type="submit" /> 
</form> 

Here

은 PHP 샘플이고 here는 ASP.NET 샘플이다.

uplodify와 같은 일부 클라이언트 측 비동기 파일 업로드 솔루션이 있지만 클라이언트의 요청을 처리하기 위해 서버 페이지가 필요합니다.

icktoofay가 언급 한 바와 같이, HTML5가 너무 당신이 input에서 선택한 파일을 읽을 the HTML5 File API를 사용할 수있는 클라이언트 측

+0

내 downvote를 제거했습니다. – icktoofay

1

에 그것을 처리 할 수 ​​있습니다.

변수에 file 입력이 있다고 가정 해보십시오. 먼저, files 속성을 사용하여 선택한 파일을 가져옵니다. 파일 하나만 가져간다고 가정하면 첫 번째 파일을 선택할 수 있습니다.

그런 다음 FileReader을 구성하십시오. 파일 읽기가 완료되면 its onload property을 콜백으로 설정하십시오. 파일 및 인코딩을 사용하여 readAsText으로 전화하십시오. 콜백이 호출 된 후 FileReaderthe result property을 사용하십시오.

그런 다음 XML을 구문 분석하고 원하는대로 사용하십시오.

관련 문제