試圖讓這樣的輸出PHP的XML如何創建/添加屬性XSI:無= 「真」
<DeclarationFile>
<Declaration Id="DEC">
<DokPVNv4>
<ParskMen>5</ParskMen>
<ParskCeturksnis xsi:nil="true"/>
無法創建<ParskCeturksnis xsi:nil="true"/>
如果使用剛剛
$ParskCeturksnis = new SimpleXMLElement("<ParskCeturksnis></ParskCeturksnis>");
$ParskCeturksnis->addAttribute("xsi:nil", "true", "http://www.w3.org/2001/XMLSchema-instance");
echo $ParskCeturksnis->asXml();
所有作品
但是,如果整個代碼
$DOM = new DOMDocument('1.0','UTF-8');
$DeclarationFile = $DOM->createElement('DeclarationFile');
$DOM->appendChild($DeclarationFile);
$Declaration = $DOM->createElement('Declaration');
$DeclarationFile->appendChild($Declaration);
$Declaration_att = $DOM->createAttribute('Id');
$Declaration->appendChild($Declaration_att);
$att_Declaration_text = $DOM->createTextNode('DEC');
$Declaration_att->appendChild($att_Declaration_text);
$DokPVNv4 = $DOM->createElement('DokPVNv4');
$Declaration->appendChild($DokPVNv4);
$ParskMen = '5';
$ParskMen = $DOM->createElement('ParskMen',mb_convert_encoding($ParskMen, "UTF-8"));
$DokPVNv4->appendChild($ParskMen);
$ParskCeturksnis = new SimpleXMLElement("<ParskCeturksnis></ParskCeturksnis>");
$ParskCeturksnis->addAttribute("xsi:nil", "true", "http://www.w3.org/2001/XMLSchema-instance");
echo $ParskCeturksnis->asXml();
echo $DOM->saveXML();
得到錯誤XML Parsing Error: junk after document element
谷歌搜索,但沒有找到解決辦法....
試圖
$ParskCeturksnis = $DOM->createElement('ParskCeturksnis');
$DokPVNv4->appendChild($ParskCeturksnis)->addAttribute("xsi:nil", "true", "http://www.w3.org/2001/XMLSchema-instance");
得到XML Parsing Error: no element found
在你的整個代碼的第一個版本,你只是'echo'ing兩個單獨的XML文檔(一個用SimpleXML創建一個與DOM創建) 。 PHP無法知道你想如何組合它們。你的代碼的第二個版本是在DOM節點上使用' - > addAttribute()',但這是單獨的SimpleXML API的一部分。順便說一句, – IMSoP