php - XML replace content to other -


मुझे यह स्क्रिप्ट है:

  $ dom = new DOMDocument (); $ एक्सएमएल = '.. / आस्तियों / local.xml'; $ Dom- & gt; लोड ($ एक्सएमएल); $ Cdata = $ Dom- & gt; createCDATASection ('95 .55.4.2 '); विदेशी मुद्रा ($ dom- & gt; getElementsByTagName ('कनेक्शन') $ आइटम के रूप में) {$ item- & gt; getElementsByTagName ('होस्ट') - & gt; आइटम (0) - & gt; एपेंडबल्ड ($ cdata); } $ Dom- & gt; सहेजें ($ xml);  

और मेरा XML है:

  & lt; कनेक्शन & gt; & LT; मेजबान & gt; स्थानीय होस्ट & lt; / मेजबान & gt; & Lt; / कनेक्शन & gt;  

और मुझे सीडीटाए से "लोकलहोस्ट" को "95.55.4.2" में बदलना होगा। मैं इस शेयर की कोशिश करता हूं लेकिन वह गलत है ... इसका नतीजा है:

  & lt; कनेक्शन & gt; & LT; मेजबान & gt; 95.55.4.2localhost & lt; / मेजबान & gt; & Lt; / कनेक्शन & gt;   

">

आप नोड मान को सीधे सेट करने के लिए nodeValue का उपयोग कर सकते हैं:

  $ dom = new DOMDocument (); $ एक्सएमएल = '.. / आस्तियों / local.xml'; $ Dom- & gt; लोड ($ एक्सएमएल); # तत्व का सीधे उपयोग करें: यह डॉक्टर में पहला "होस्ट" नोड है: $ dom- & gt; getElementsByTagName ('होस्ट') - & gt; आइटम (0) - & gt; नोड वेले = '95 .55.4.2 '; $ Dom- & gt; बचाने ($ एक्सएमएल);   

appendChild का उपयोग कर अपने सीडीएटीए नोड को मौजूदा बाल नोड्स में जोड़ देगा, यही वजह है कि आपको पुरानी और नई स्ट्रिंग्स का संयोजन मिल रहा है।


Comments

Popular posts from this blog

mysql - How to enter php data into a html multiple select box -

java - Can't add JTree to JPanel of a JInternalFrame -

c++ - Cassandra datastax cpp driver - avoiding unnecessary copies -