我目前正在使用Nokogiri :: XML :: Builder类来构造XML文档,然后在其上调用.to_xml.结果字符串总是在节点之间包含一堆空格,换行符和回车符,我不能为我的生活弄清楚如何摆脱它们.这是一个例子:
b = Nokogiri::XML::Builder.new do |xml|
xml.root do
xml.text("Value")
end
end
b.to_xml
Run Code Online (Sandbox Code Playgroud)
这导致以下结果:
<?xml version="1.0"?>
<root>Value</root>
Run Code Online (Sandbox Code Playgroud)
我想要的是这个(注意缺少的换行符):
<?xml version="1.0"?><root>Value</root>
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?提前致谢!
Github最近发布了他们的Atom编辑器开源.因为它都是用JavaScript编写的,所以它应该相对容易嵌入.不幸的是,除了在节点和Chromium的自定义版本中它们与Atom版本捆绑在一起之外,它看起来不像任何地方.
有谁知道如何为浏览器打包Atom?有没有人尝试过这个?
我正在尝试通过Mac OS X 10.6上的命令行使用PHP建立到远程服务器的交互式SSH连接.我目前正在使用PHP的proc_open函数来执行以下命令:
ssh -t -t -p 22 user@server.com
Run Code Online (Sandbox Code Playgroud)
这几乎可行.该-t -t选项都应该强制伪终端,他们几乎做.我可以输入SSH密码并按Enter键.但是,按下后,终端似乎只是挂起.没有输出,没有任何东西 - 就像SSH会话失败一样.我无法运行命令或任何东西,必须使用Ctrl + C杀死整个事物.我知道登录成功,因为我可以执行命令,ssh -t -t -p 22 user@server.com "ls -la"并获得正确的输出.
我认为这个问题必须与我在proc_open调用中使用标准管道的事实有关,所以我用pty替换它们.我收到以下错误:"此系统不支持pty伪终端......"
Mac OS X根本不支持pty或伪终端吗?(我很擅长使用所有这些shell术语).
这是PHP代码:
$descriptorspec = array(0 => array("pty"), 1 => array("pty"), 2 => array("pty"));
$cwd = getcwd();
$process = proc_open('ssh -t -t -p 22 user@server.com', $descriptorspec, $pipes, $cwd);
if (is_resource($process))
{
while (true)
{
echo(stream_get_contents($pipes[1]));
$status = proc_get_status($process);
if (! $status["running"])
break;
}
}
Run Code Online (Sandbox Code Playgroud)
(对不起 - 我不能为我的生活弄清楚SO的格式说明......)
我究竟做错了什么?为什么我不能用pty?这在Mac OS X上是不可能的吗?谢谢你的帮助!
atom-editor ×1
code-editor ×1
editor ×1
javascript ×1
newline ×1
nokogiri ×1
openssh ×1
php ×1
proc-open ×1
pty ×1
ruby ×1
xml ×1