我有以下xml:
<assumption_list>
<assumption name="test" id="23" description="test1" is_shared="no">
<watchlists>
<watchlist globalissuer="koolwater" prepayrate="5" prepaytype="CPR" defaultrate="5" defaulttype="CDR" lossrate="7" lagmonths="2"/>
</watchlists>
</assumption>
</assumption_list>
我在php中作为DOMDocument
加载从jsp调用接收到的以下内容我正在尝试使用以下代码将<watchlists>
节点作为字符串获取:
$result = $xmlDoc->getElementsByTagName('watchlists');
$strxml='';
foreach($result as $element)
{
print_r(simplexml_import_dom($element));
$strxml = $xmlDoc->saveXML($element);
var_dump($strxml);
}
我确实看到我的print_r(simplexml_import_dom($element));
已填充,但由于某些原因,我在saveXml操作后看到空字符串。当前的实现是否有问题。
我正在尝试获取xml字符串表示,以便我可以将xml字符串传递给php应用程序使用的c#dll
答案 0 :(得分:0)
如果要输出xml字符串表示形式,可以在此处使用简单的htmlentities()
。请考虑以下示例:Sample Output
$xmlDoc = '<assumption_list> <assumption name="test" id="23" description="test1" is_shared="no"> <watchlists> <watchlist globalissuer="koolwater" prepayrate="5" prepaytype="CPR" defaultrate="5" defaulttype="CDR" lossrate="7" lagmonths="2"/> </watchlists> </assumption></assumption_list>';
$xmlDoc = simplexml_load_string($xmlDoc);
$result = $xmlDoc->assumption->watchlists->watchlist;
// echo $result->asXML(); // output as xml
echo htmlentities($result->asXML()); // output as xml string