سؤال

لدي ملف xml حيث أحتاج للتعليق عن كل قطعة من النص مع النمل.

هناك النمل المهمة

<replace file="${src.dir}/Version.as" 
         token="@revisionPrana" value="${revision}"/>

التي تستخدم لتحل محل الكلمات ، ولكن في حالتي أنا بحاجة إلى استبدال كتلة كاملة من هذا القبيل:

<value>
  <object class="edumatic.backoffice.view.modules.NavigationModuleInfo">
    <property name="url"
     value="edumatic/backoffice/view/modules/support/ExamsNavigationModule.swf"/>
    <property name="icon"
     value="edumatic/backoffice/view/modules/support/assets/book.png" />
    <property name="title" value="Assessments" />
    <property name="pluginID" value="EXAM" />
  </object>
</value>
<value>
  <object class="edumatic.backoffice.view.modules.ContentModuleInfo">
    <property name="url"
     value="edumatic/backoffice/view/modules/support/ExamsContentModule.swf" />
    <property name="pluginID" value="EXAM" />
  </object>
</value>

في

<!--value>
  <object class="edumatic.backoffice.view.modules.NavigationModuleInfo">
    <property name="url"
     value="edumatic/backoffice/view/modules/support/ExamsNavigationModule.swf"/>
    <property name="icon"
     value="edumatic/backoffice/view/modules/support/assets/book.png" />
    <property name="title" value="Assessments" />
    <property name="pluginID" value="EXAM" />
  </object>
</value>
<value>
  <object class="edumatic.backoffice.view.modules.ContentModuleInfo">
    <property name="url"
     value="edumatic/backoffice/view/modules/support/ExamsContentModule.swf" />
    <property name="pluginID" value="EXAM" />
  </object>
</value-->

لذا أساسا أنا بحاجة إلى تعليق خارج كتلة كاملة من XML.يمكنني أن أفعل هذا مع استبدال المهمة (وضع كل كتلة في سمة رمزية وقيمة لا حقا والعمل) ؟ أو هل هناك طريقة سريعة قراءة في xml مع النمل و حذف بعض العقد وحفظ xml مرة أخرى ؟

البحث عن واستبدال ذلك ليس خيارا لأن هناك العديد من قيمة الأطفال وليس كل منهم بحاجة إلى أن يكون علق بها.

إضافة السمة مثل ليس خيارا إما لأن xml يتم تحليلها من قبل اللجنة الاولمبية الدولية للحاويات (برانا).ربما برانا تجاهل id="1" لكنه لا يزال iss فوضوي و لا أحب الفوضى على المدى الطويل.

هل كانت مفيدة؟

المحلول

إذا كان يمكنك تحديد ما هو محلها من خلال التعبير العادي ، أوصي باستخدام الاختياري المهمة replaceregexp.هنا الطبيب: http://ant.apache.org/manual/Tasks/replaceregexp.html يمكنك الاتصال به مرتين, واحدة لبدء علامة أخرى على نهاية الوسم.

Regexp لاستبدال الخاص بك يمكن أن تكون مرهقة بعض الشيء ، بما أنك تقول أنك لا تريد أن تحل محل جميع العلامات ، ولكن أعتقد أن هذا هو أسهل طريقة.

وهناك خيار آخر يتمثل في إنشاء مخصص النمل المهمة أن تفعل ما تريد.

نصائح أخرى

إذا هو ملف XML، ثم هل يمكن أيضا استدعاء XSLT تحويل

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top