perl을 사용하여 500MB 파일의 유효성을 검사하고 구문 분석하는 방법에 대한 도움을받을 수 있습니다.perl에서 500MB 이상의 XML 파일의 유효성을 검사하고 구문 분석하는 방법
libxml 모듈을 사용해 보았지만 400MB까지만 유효합니다. 그리고 나는 또한 XML::SAX::ParserFactory
으로 시험해 보았는데, 이는 Bus Error (코어 덤프)를 제공하고있다.
답변에 대해 매우 감사드립니다.
perl을 사용하여 500MB 파일의 유효성을 검사하고 구문 분석하는 방법에 대한 도움을받을 수 있습니다.perl에서 500MB 이상의 XML 파일의 유효성을 검사하고 구문 분석하는 방법
libxml 모듈을 사용해 보았지만 400MB까지만 유효합니다. 그리고 나는 또한 XML::SAX::ParserFactory
으로 시험해 보았는데, 이는 Bus Error (코어 덤프)를 제공하고있다.
답변에 대해 매우 감사드립니다.
더 현대적인 풀 구문 분석기 인 XML::LibXML::Reader을 사용합니다.
use XML::LibXML::Reader;
my $reader = XML::LibXML::Reader->new(location => "file.xml")
or die "cannot read file.xml\n";
while ($reader->read) {
processNode($reader);
}
sub processNode {
...
}
Iam 매우 감사드립니다, 그것은 작동하는 것, 이제는 데이터를 캡처하는 방법, 모든 가능성을 확인해야 :) – user2598274
또한이 설계되었습니다 XML::Twig를 사용할 수 있습니다. XML :: LibXML :: Reader보다 느리지 만 더 편리 할 것입니다.
코드의 관련 부분을 표시하지 않고 정확히 무엇이 잘못되었는지 알 수있는 방법이 없습니다. 스트리밍 모드에서 파서를 사용하고 있습니까? 이렇게하면 메모리 문제가 완화됩니다. – amon