xml - Regex to strip tags, retain CDATA -


संभव डुप्लिकेट:

हाय सब,

मुझे पता है कि हर कोई एक regex सवाल प्यार करता है, तो यहाँ मेरा है। मेरे पास एक एक्सएमएल पेड़ है जिसमें कुछ नोड्स सीडीएटीए शामिल हैं I मैं बस एक स्ट्रिंग जिसमें डेटा युक्त है वापस लौटूं?

एक उदाहरण देखें

  & lt; xml & gt; & Lt; नोड & gt; मैं सादा पाठ हूं। & Lt; / node & gt; & Lt; नोड & gt; & lt;! [सीडीएटीए [मैं सीडीएटी में टेक्स्ट हूं ... और इसमें html, & lt; मजबूत & gt; याक! & Lt; / strong & gt;]] & gt; & lt; / node & gt; & Lt; / एक्सएमएल & gt;  

वापस आ जाएगा

  मैं सादा पाठ हूं मैं सीडीएटी में पाठ हूं ... और इसमें html हो सकता है, योक!  

मैंने नियमित रूप से एक अनियमित भाषा को पार्स नहीं करने के बारे में पढ़ा है, लेकिन मुझे यकीन है कि यह संभव है। आप लोग क्या सोचते हैं?

धन्यवाद, केविन

संपादित करें: यह एक ऐसी समस्या थी जिसके साथ एक त्वरित और गंदे समाधान की जरूरत थी एक्सएमएल की कुछ पंक्तियाँ मुझे प्रारंभिक फ्लैट इनकार पर आश्चर्य हुआ, लेकिन आगे पढ़ने से (विशेषकर बाद में दिए गए लिंक से) मैं देखता हूं कि अनुभवी प्रोग्रामर यह जानते हैं कि जहां कहीं भी संभव हो वहां से बचा जाना चाहिए। जियो और सीखो। धन्यवाद।

regex का उपयोग न करें, एक XML / HTML पार्सर का उपयोग करें।

इस मुद्दे को पीटा गया है।


Comments