首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用SimpleXMLElement创建自关闭标记

使用SimpleXMLElement创建自关闭标记
EN

Stack Overflow用户
提问于 2017-06-28 10:27:42
回答 1查看 659关注 0票数 0

我必须创建一个xml字符串,以便在post请求中发送。我正在使用SimpleXMLElement库的PHP来创建相同的xml。

我想要创建一个嵌套的xml,其中一个标记为“自关闭”。

到目前为止,我已经创建了具有属性和子元素的标记,如下所示

代码语言:javascript
运行
复制
$envelop = new SimpleXMLElement("<Envelope></Envelope>");
$body = $envelop->addChild('Body');
.
.
.
.
$envelop->asXML(); // Gives me proper XML

现在我想使用SimpleXMLElement元素实现的是一个自结束标记。

代码语言:javascript
运行
复制
<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实现,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-28 10:45:22

当我不耐烦地跑来跑去寻找解决方案的时候,结果真的很简单。上面提到了no,我只是尝试向父标记添加一个没有第二个参数的标记。简单(XMLElemet)为:P

以下是代码:

代码语言:javascript
运行
复制
$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();

结论:因此,基本上,如果它是一个没有数据的叶节点,它将被创建为自关闭。

现在,我需要检查如何创建具有非自关闭标记的叶节点。这将是另一个问题。但稍后:)

现在我完蛋了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44799937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档