是否有人遇到过一种方法,可以强制PHP SimpleXMLElement节点名为大写?
API集成文档指定所有节点名称都区分大小写。我使用的是PHP SimpleXMLElement,我没有看到强制使用大写节点名的方法。是否有人遇到了强制节点名称大写的方法是否有人遇到过一种方法,可以强制PHP SimpleXMLElement节点名为大写?,php,simplexml,xmlnode,addchild,Php,Simplexml,Xmlnode,Addchild,API集成文档指定所有节点名称都区分大小写。我使用的是PHP SimpleXMLElement,我没有看到强制使用大写节点名的方法。是否有人遇到了强制节点名称大写的方法 $xmlstr = '<Request>'. '</Request>'; $sxe = new SimpleXMLElement($xmlstr); $authentication = $sxe->addChild('Authentication'); $authenticat
$xmlstr = '<Request>'.
'</Request>';
$sxe = new SimpleXMLElement($xmlstr);
$authentication = $sxe->addChild('Authentication');
$authentication->addChild('Version', '2.0');
$processid = $sxe->addChild('Process ID=importSale');
$importsale = $processid->addChild('importSale');
$importsale->addChild('SCRIPTCODE', '<![CDATA[SCRIPT001]]>');
$importsale->addChild('PRODID','<!CDATA[DNTMAN]]>');
echo $sxe->asXML();
$xmlstr=''。
'';
$sxe=新的simplexmlement($xmlstr);
$authentication=$sxe->addChild('authentication');
$authentication->addChild('Version','2.0');
$processid=$sxe->addChild('processid=importSale');
$importsale=$processid->addChild('importsale');
$importsale->addChild('SCRIPTCODE','');
$importsale->addChild('PRODID','');
echo$sxe->asXML();
在“查看源代码”中查看时,“SCRIPTCODE”和“PRODID”都是小写的。我该如何强制将其大写?理论上,您提供的代码已经完成了这项工作!默认情况下,添加到simpleXMLElement的所有子元素将保留其原始大小写
$sxe = new SimpleXMLElement('<Request></Request>');
$authentication = $sxe->addChild('Authentication');
$authentication->addChild('Version', '2.0');
$processid = $sxe->addChild('Process ID=importSale');
$importsale = $processid->addChild('importSale');
$importsale->addChild('SCRIPTCODE', '<![CDATA[SCRIPT001]]>');
$importsale->addChild('PRODID','<!CDATA[DNTMAN]]>');
echo $sxe->asXML();
$sxe=新的SimpleXMLElement(“”);
$authentication=$sxe->addChild('authentication');
$authentication->addChild('Version','2.0');
$processid=$sxe->addChild('processid=importSale');
$importsale=$processid->addChild('importsale');
$importsale->addChild('SCRIPTCODE','');
$importsale->addChild('PRODID','');
echo$sxe->asXML();
执行代码得到的结果如下:
<Request>
<Authentication>
<Version>2.0</Version>
</Authentication>
<Process>
<Process ID=importSale>
<SCRIPTCODE><![CDATA[SCRIPT001]]></SCRIPTCODE>
<PRODID><!CDATA[DNTMAN]]></PRODID>
</importSale>
</Process>
</Request>
2
SCRIPTCODE
和PRODID
都保持大写
注意:这不是将cdata添加到节点值的合适方法。。。这将导致html实体转换,如
!CDATA[]
不要查看源代码,而是尝试使用以下命令将输出回显到屏幕上:
echo htmlentities($sxe->asXML());
它们在我的服务器上是大写的,在这里也是一样的:您可以尝试以下方法而不是查看源代码:echo htmlentities($sxe->asXML());您当时使用哪个浏览器查看源代码?不知道某些浏览器显示的内容与源代码不同。