2017-03-09 11 views
0

HTML 파일을 XML 파일로 파싱하고 변환하는 데 사용되는 JDOM 파서입니다. html 파일 자체 종료 태그를 파싱 한 후 자식 노드가 있더라도 생성합니다. 입력 html로JDOM HTML에서 XML 로의 변환 - 자식 노드를 갖는 부모 노드 셀프 엔드 태그

<li id="fieldId1" fieldtype="dropdownFromList"> 
    <span> 
    <sflabel path="polProdCode"> 
    <fmtmessage key="mpolicy.policy.polProdCode.lable" /> 
    </sflabel> 
    </span> 
</li> 

OutputXML

  <span> 
     <sflabel path="polProdCode" /> ---sflabel tag selfclosing after the conversion 
     <fmtmessage key="mpolicy.policy.polProdCode.lable" /> 
     </span> 

XML

  <span> 
      <sflabel path="polProdCode" > 
      <fmtmessage key="mpolicy.policy.polProdCode.lable" /> 
      </sflabel>  ----need endtag 
      </span> 

자바 코드

SAXBuilder saxBuilder = new SAXBuilder("org.ccil.cowan.tagsoup.Parser", false); 
File log = new File("log.html"); 
     org.jdom.Document jdomDocument = saxBuilder.build(log); 
     XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()); 

      fwOutXml = new FileWriter("output.xml"); 
      bwOutXml = new BufferedWriter(fwOutXml); 
      outputter.output(jdomDocument, bwOutXml); 
+0

이것은 tagsoup 라이브러리에서 거의 확실하게 문제가됩니다 .... JDOM은 실제로 파서가 아니며 단지 메모리 내 모델 일뿐입니다. tagsoup 라이브러리는 파서이며 SAX 스트림에서 잘못된 이벤트를 제공해야합니다. – rolfl

+0

이 문제를 극복하기 위해 대체 saxDriverClass가 있습니까? – Manikandarajan

답변

0

내가 saxdriverclass을 제거하여 변환을 고정하고 비어했습니다 예상

 SAXBuilder saxBuilder = new SAXBuilder();