Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menambah Atribut kepada Semua Teg XML Menggunakan Sambungan XML Regex atau PHP?
Soalan:
Bagaimana anda boleh menggunakan preg_replace untuk menambah atribut tertentu ke semua teg XML dalam dokumen XML yang dibentuk dengan baik yang disimpan sebagai pembolehubah rentetan? Sebagai contoh, anda ingin mengubah suai XML berikut:
<tag1> <tag2> some text </tag2> </tag1>
kepada:
<tag1 attr="myAttr"> <tag2 attr="myAttr"> some text </tag2> </tag1>
Jawapan:
Walaupun ia menarik untuk digunakan ungkapan biasa untuk tugasan ini, ia tidak digalakkan. XML bukan bahasa biasa, dan cubaan menggunakan regex padanya boleh membawa kepada hasil yang tidak dijangka. Sebaliknya, kami mengesyorkan menggunakan sambungan XML PHP:
<code class="php">$xml = new SimpleXml(file_get_contents($xmlFile)); function process_recursive($xmlNode) { $xmlNode->addAttribute('attr', 'myAttr'); foreach ($xmlNode->children() as $childNode) { process_recursive($childNode); } } process_recursive($xml); echo $xml->asXML();</code>
Kaedah ini memastikan semua teg XML diubah suai dengan betul, mengelakkan kemungkinan perangkap menggunakan ungkapan biasa pada XML.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Atribut kepada Semua Teg XML Menggunakan Sambungan XML Regex atau PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!