जब इस कोड चल मैं यह त्रुटि हो रही है: Fatal error: Uncaught exception 'DOMException' with message 'Invalid Character Error' in test.php:29 Stack trace: #0 test.php(29): DOMDocument->createElement('1OhmStable', 'a') #1 {main} thrown in test.php on line 29
पीएचपी अमान्य वर्ण त्रुटि
नोड्स मूल XML फ़ाइल से अमान्य वर्ण करते हैं, लेकिन जैसा कि मैंने नोड्स से दूर अमान्य वर्ण अलग करना कर रहा हूँ, नोड्स बनाया जाना चाहिए। मूल XML दस्तावेज़ पर मुझे किस प्रकार का एन्कोडिंग करने की आवश्यकता है? क्या मुझे saveXML को डीकोड करने की ज़रूरत है?
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/v1/xsl/xml_pretty_printer.xsl" type="text/xsl"?>
<products>
<product>
<modelNumber>M100</modelNumber>
<itemId>1553725</itemId>
<details>
<detail>
<name>1 Ohm Stable</name>
<value>600 x 1</value>
</detail>
</details>
</product>
</products>
नया दस्तावेज़ इस तरह दिखना चाहिए:
function __cleanData($c)
{
return preg_replace("/[^A-Za-z0-9]/", "",$c);
}
$xml = new DOMDocument('1.0', 'UTF-8');
$xml->load('test.xml');
$xml->formatOutput = true;
$append = array();
foreach ($xml->getElementsByTagName('product') as $product)
{
foreach($product->getElementsByTagName('name') as $name)
{
$append[] = $name;
}
foreach ($append as $a)
{
$nodeName = __cleanData($a->textContent);
$element = $xml->createElement(htmlentities($nodeName) , 'a');
}
$product->removeChild($xml->getElementsByTagName('details')->item(0));
$product->appendChild($element);
}
$result = $xml->saveXML();
$file = "data.xml";
file_put_contents($file,$result);
इस तरह क्या मूल एक्सएमएल लग रहा है अगर यह UTF है:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/v1/xsl/xml_pretty_printer.xsl" type="text/xsl"?>
<products>
<product>
<modelNumber>M100</modelNumber>
<itemId>1553725</itemId>
<1 Ohm Stable>
</1 Ohm Stable>
</product>
</products>
आप स्वयं से बात करना पसंद करते हैं, एक्सएमएल कहां है? – ajreal
@ajreal बस इसे ऊपर रखें –
आप स्वच्छ संस्करण क्यों पोस्ट करते हैं? – ajreal