我必须创建一个要在post请求中发送的xml字符串。我正在使用 - I tried using send_keys but the same didn't work (threw following error: cannot focus element
- AutoIt doesn't work since it is MAC.
SimpleXMLElement
库创建相同的xml。
我想创建一个嵌套的xml,其中一个标签为自闭。
到目前为止,我已经使用具有属性和子元素的元素创建了标记,如下所示
PHP
我现在想要使用$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
实现此目的,请与我们联系。
答案 0 :(得分:0)
当我不耐烦地为解决方案奔波时,最终它非常简单。有人提到没有,我只是尝试添加一个没有第二个参数的标签给父标签。简单(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();
结论:所以基本上如果它的叶子节点没有数据,那么它就是 创建为自我关闭。
现在我需要检查如何使用非自闭标记创建叶节点。那将是另一个问题。但后来:)
现在我已经完成了!