java - एक्सएमएल हेडर से बचने के लिए कैसे करें, जबकि एंटी स्क्रिप्ट में एक्सएमएल फाइलें एकत्रित करें




xml ant xml-parsing (3)

एक फिल्टर श्रृंखला है। इसलिए आप फ़िल्टर करने के लिए 'एक्सएमएल संस्करण' या 'एन्कोडिंग' का उपयोग कर सकते हैं।

<filterchain>
         <linecontains>
          <contains value="xml version"/>
         </linecontains>
      </filterchain>

तो फिर एक हैडर जो आम के रूप में जोड़ा जा सकता है। वहां आप सामान्य हेडर दे सकते हैं।

<header filtering="no" trimleading="yes">
      ----Put  Header---
</header>

फ़ंक्शन रिफ: https://googleweblight.com/?lite_url=https://ant.apache.org/manual/Tasks/concat.html&ei=t1jfBWPU&lc=en-IN&s=1&m=717&host=www.google.co.in&ts= 1456774849 और sig = ALL1Aj6a3WOuua261FfWU1a1B-ULkTgOMw

इस सवाल का पहले से ही उत्तर दिया गया है:

मैं सभी XML फाइलों को एक फ़ोल्डर में एंटी स्क्रिप्ट में एक एकल एक्सएमएल फ़ाइल में जोड़ रहा हूँ। जबकि XML फ़ाइलों को जोड़ना, शीर्ष लेख

 <?xml version="1.0" encoding="UTF-8" ?> 

सभी XML फ़ाइलों में आउटपुट xmlfile में संलग्न हो रहे हैं

क्या इस शीर्षक से बचने का कोई तरीका है?

  <concat destfile="${docbook.dir}/all-sections.xml"
      force="no">       
   <fileset dir="${docbook.dir}"
     includes="sections/*.xml"/>
   </concat>

शीर्ष लेख को छोड़ने के लिए आप एक regex लागू कर सकते हैं:

<concat destfile="${docbook.dir}/all-sections.xml" force="no">       
    <fileset dir="${docbook.dir}" includes="sections/*.xml"/>
    <filterchain>
        <linecontainsregexp negate="true">
            <regexp pattern="&lt;\?xml version"/>
        </linecontainsregexp>
    </filterchain>  
 </concat>

https://ant.apache.org/manual/Types/filterchain.html

संपादित करें: यदि आप शीर्ष लेख की पहली घटना को रखना चाहते हैं तो यह एक विकल्प है:

<property name="first" value="true"/>

<concat destfile="${docbook.dir}/all-sections.xml">       
    <fileset dir="${docbook.dir}" includes="sections/*.xml"/>
    <filterchain>
        <scriptfilter language="javascript">
        <![CDATA[
            first = project.getProperty("first");
            if(self.getToken().indexOf("<\?xml version") != -1) {
                if(first == "true") {
                    project.setProperty("first", "false");
                } else {
                    self.setToken(null);
                }
            }
        ]]> 
        </scriptfilter>             
    </filterchain>
</concat>

ऐसा करने के लिए एक आसान, लेकिन अक्षम, तरीका (जेनेरिक शामिल नहीं है):

ArrayList baseArray = new ArrayList(Arrays.asList(array1));
baseArray.addAll(Arrays.asList(array2));
String concatenated[] = (String []) baseArray.toArray(new String[baseArray.size()]);




java xml ant xml-parsing