SSISO Community

시소당

XML파일을 분석하고 있는 동안 원본 마디로 CDATA nodes 변경

By  default,  CDATA  nodes  in  an  XML  file  will  be  represented  with  CDATASection  objects  in  a  DOM  document.
  This  example  demonstrates  how  to  create  a  parser  that  converts  CDATA  nodes  into  text  nodes.

        try  {
                //  Create  a  builder  factory
                DocumentBuilderFactory  factory  =  DocumentBuilderFactory.newInstance();
        
                //  Configure  it  to  coalesce  CDATA  nodes
                factory.setCoalescing(true);
        
                //  Create  the  builder  and  parse  the  file
                Document  doc  =  factory.newDocumentBuilder().parse(new  File("infilename.xml"));
        
                //  doc  will  not  contain  any  CDATA  nodes
        }  catch  (SAXException  e)  {
                //  A  parsing  error  occurred;  the  xml  input  is  not  valid
        }  catch  (ParserConfigurationException  e)  {
        }  catch  (IOException  e)  {
        }

Here's  some  sample  input:

        <?xml  version="1.0"  encoding="UTF-8"?>
        <root>
                Some  pretext
                <![CDATA[Some  text  with  lots  of  <"!@#$%'^&*()>  special  characters]]>
                Some  posttext
        </root>

and  output:

        <?xml  version="1.0"  encoding="UTF-8"?>
        <root>
                Some  pretext
                Some  text  with  lots  of  &lt;"!@#$%'^&amp;*()&gt;  special  characters
                Some  posttext
        </root>

[2008년  03월  11일  17:39:19  수정되었습니다.]

779 view

4.0 stars