2015-07-03 1 views
0

Я хочу, чтобы мой XML-узел, как:Как получить XML узла угловую скобку в Value

<Name><![CDATA[Masonry, Stucco &amp; Brick Paint]]></Name> 

Но это становится сохраняется как:

<Name>&lt;![CDATA[Abcd, City &amp; Abcd]]&gt;</Name> 

Я использую такой код:

import org.w3c.dom.Document; 
import org.w3c.dom.Element; 
... 
... 
Element name = doc.createElement("Name"); 
name.appendChild(doc.createTextNode("<![CDATA[" + categoryName + "]]>")); 
category.appendChild(name); 

Я даже попытался использовать «amp; lt;» и "amp; gt;" для < и> соответственно, но не работает

+0

Пожалуйста, проверьте ответ. – ozgur

+0

если так, примите/голосуйте. – ozgur

ответ

0

Вы можете попробовать это ...

class StringToDocumentToString { 

    public static void main(String[] args) { 

     final String xmlStr = "<Name><![CDATA[Masonry, Stucco &amp; Brick Paint]]></Name>"; 

     Document doc = convertStringToDocument(xmlStr); //You can directly store this document as .xml but if you want String as return than do next step 
     String str = convertDocumentToString(doc); 
     System.out.println(str); 
    } 

    private static String convertDocumentToString(Document doc) { 
     TransformerFactory tf = TransformerFactory.newInstance(); 
     Transformer transformer; 
     try { 
      transformer = tf.newTransformer(); 
      StringWriter writer = new StringWriter(); 
      transformer.transform(new DOMSource(doc), new StreamResult(writer)); 
      String output = writer.getBuffer().toString(); 
      return output; 
     } catch (TransformerException e) { 
      e.printStackTrace(); 
     } 

     return null; 
    } 

    private static Document convertStringToDocument(String xmlStr) { 
     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder builder; 
     try { 
      builder = factory.newDocumentBuilder(); 
      Document doc = builder.parse(new InputSource(new StringReader(
        xmlStr))); 
      return doc; 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

} 
Смежные вопросы