tôi cần phải thêm một thẻ tự đóng vào tập tin XML với DOM trong PHP, nhưng tôi không biết làm thế nào, vì standardly, thẻ này trông như thế này:thẻ tự đóng cửa sử dụng createElement
<tag></tag>
nhưng nó sẽ giống như thế này:
<tag/>
tôi cần phải thêm một thẻ tự đóng vào tập tin XML với DOM trong PHP, nhưng tôi không biết làm thế nào, vì standardly, thẻ này trông như thế này:thẻ tự đóng cửa sử dụng createElement
<tag></tag>
nhưng nó sẽ giống như thế này:
<tag/>
DOM sẽ làm điều đó tự động cho bạn
$dom = new DOMDocument;
$dom->appendChild($dom->createElement('foo'));
echo $dom->saveXml();
sẽ cung cấp theo mặc định
<?xml version="1.0"?>
<foo/>
trừ khi bạn làm
$dom = new DOMDocument;
$dom->appendChild($dom->createElement('foo'));
echo $dom->saveXml($dom, LIBXML_NOEMPTYTAG);
mà sau đó sẽ cung cấp cho
<?xml version="1.0" encoding="UTF-8"?>
<foo></foo>
Chỉ cần vượt qua một param node
để DOMDocument::saveXML
để đầu ra chỉ một nút cụ thể, mà không cần bất kỳ khai báo XML:
$doc = new \DOMDocument('1.0', 'UTF-8');
$doc->preserveWhiteSpace = false;
$doc->formatOutput = false;
$node = $doc->createElement('foo');
// Trimming the default carriage return char from output
echo trim($doc->saveXML($node));
sẽ cho
<foo/>
không chứa bất kỳ char dòng mới/vận chuyển trở lại kết thúc.