2012-08-04 16 views
6

"इस फ़ाइल को संपादित न करें" टिप्पणी के बाद लाइन ब्रेक कैसे जोड़ें? मैंने लाइन ब्रेक के साथ टेक्स्टनोड जोड़ने की कोशिश की है लेकिन यह काम नहीं करता है।जावा के साथ एक्सएमएल फ़ाइल में लाइन ब्रेक कैसे जोड़ें?

कोड:

import java.io.File; 

import javax.xml.parsers.DocumentBuilderFactory; 
import javax.xml.transform.OutputKeys; 
import javax.xml.transform.Transformer; 
import javax.xml.transform.TransformerFactory; 
import javax.xml.transform.dom.DOMSource; 
import javax.xml.transform.stream.StreamResult; 

import org.w3c.dom.Document; 
import org.w3c.dom.Element; 

public class Main { 
    public static void main(String[] args) { 
     try { 
      final Document doc = DocumentBuilderFactory.newInstance(). 
        newDocumentBuilder().newDocument(); 

      doc.appendChild(doc.createComment(" DO NOT EDIT THIS FILE ")); 

      final Element rootElement = doc.createElement("projects"); 
      doc.appendChild(rootElement); 

      final Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
      transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
      transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); 
      transformer.transform(new DOMSource(doc), new StreamResult(new File("C:/abc.xml"))); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

आउटपुट:

<!-- DO NOT EDIT THIS FILE --><projects/> 

+1

हम्म ... यह मेरे मशीन पर एक लाइन ब्रेक है ... –

+0

मेरे पास है जावा 7 का उपयोग कर रहा हूँ, तुम्हारे बारे में क्या? – perak

+0

इसी तरह ... विषम। –

उत्तर

0

मैं जब मैं अपने कोड भाग गया और साथ ही एक रिक्त पंक्ति है। क्या आप फ़ाइल को एक संपादक में देख रहे हैं, या पार्सिंग और इसे प्रदर्शित कर रहे हैं? मैं पूछता हूं क्योंकि xml: space = "संरक्षित" सेटिंग्स आपके पार्सर कोड में भद्दा हो सकती है यदि ऐसा है।

 final Element rootElement = doc.createElement("projects"); 
     doc.appendChild(rootElement); 
     rootElement.appendChild(doc.createComment(" DO NOT EDIT THIS FILE ")); 

कई तरीके इस अंतर-संचालित है में:

अन्य विकल्प XML मूल तत्व के भीतर ही टिप्पणी कर देना है। उदाहरण के लिए मान लें कि आप फ़ाइल के अंतिम संस्करण में एम्बेड करने के लिए xinclude का उपयोग करते हैं। आपके प्रश्न में जिस तरह से फ़ाइल को संपादित नहीं करने के लिए नोटिस शामिल नहीं किया जाएगा। यदि आप इसे मूल तत्व के भीतर रखते हैं तो यह होगा (और आपको संभवत: इस प्रोजेक्ट तत्व की सामग्री को संपादित न करने के बजाय इसे किसी कारण से फ़ाइल कहने के बजाय कुछ कहना चाहिए)।

0

वहाँ के बाद से, टिप्पणी के बाद कोई newline है, भले ही आप खरोज, टिप्पणी और निम्नलिखित नोड सक्रिय गहराई 0.

संबंधित मुद्दे