而不是做
public string Name => Page.Name
是否可以使用其他方法或任何其他方式执行以下操作:
$path_out = 'output.xml';
$xw = new XMLWriter();
$xw->openURI($path_out);
答案 0 :(得分:2)
有点晚了,但是应该可以,因为提供的uri支持自定义协议。因此,如果您创建一个包装资源的自定义包装器,则应该能够直接将其写入包装的资源中。
我创建了一个小型图书馆,因为我遇到了同样的问题,您可以找到here。
因此对于您的示例,您可以这样做:
$fd = fopen('output.xml', 'w');
StreamWrapper::register($fd, 'output.xml');
$writer = new \XMLWriter();
$writer->openUri('wrapper://output.xml');
答案 1 :(得分:1)
不,这确实非常糟糕。 XMLWriter / XMLReader组合应该运行'流媒体'这很棒但是他们无法使用已经开放的流。这似乎是一个重大的疏忽。