我必须创建一个xml字符串,以便在post请求中发送。我正在使用SimpleXMLElement库的PHP来创建相同的xml。
我想要创建一个嵌套的xml,其中一个标记为“自关闭”。
到目前为止,我已经创建了具有属性和子元素的标记,如下所示
$envelop = new SimpleXMLElement("<Envelope></Envelope>");
$body = $envelop->addChild('Body');
.
.
.
.
$envelop->asXML(); // Gives me proper XML现在我想使用SimpleXMLElement元素实现的是一个自结束标记。
<Envelope>
<Body>
<ExportList>
<LIST_ID>234234</LIST_ID>
<EXPORT_TYPE>ALL</EXPORT_TYPE>
<EXPORT_FORMAT>CSV</EXPORT_FORMAT>
<ADD_TO_STORED_FILES/> < -- Target Tag -->
<DATE_START>07/25/2003 12:12:11</DATE_START>
<DATE_END>09/30/2005 14:14:11</DATE_END>
</ExportList>
</Body>
</Envelope>我试着寻找解决方案和文档。但我没能找到任何解决办法。如果有人能帮助完成上述任务,请见谅。
另外,我有使用DOMElement的解决方案,但我对使用它不感兴趣,因为那时我需要重新编写我的整个应用程序。如果可以使用SimpleXMLElement实现,请告诉我。
发布于 2017-06-28 10:45:22
当我不耐烦地跑来跑去寻找解决方案的时候,结果真的很简单。上面提到了no,我只是尝试向父标记添加一个没有第二个参数的标记。简单(XMLElemet)为:P
以下是代码:
$envelop = new SimpleXMLElement("<Envelope></Envelope>");
$body = $envelop->addChild('Body');
$exportList = $body->addChild('ExportList');
$exportList->addChild('LIST_ID', 234234);
$exportList->addChild('ADD_TO_STORED_FILES'); // passing nothing
.
.
.
$envelop->asXML();结论:因此,基本上,如果它是一个没有数据的叶节点,它将被创建为自关闭。
现在,我需要检查如何创建具有非自关闭标记的叶节点。这将是另一个问题。但稍后:)
现在我完蛋了!
https://stackoverflow.com/questions/44799937
复制相似问题