标签: xml-builder

Ruby on Rails:使用XML Builder Partials

XML构建器中的部分证明是非平凡的.

经过一些初步的谷歌搜索,我发现以下工作,虽然它不是100%

 xml.foo do
     xml.id(foo.id)
     xml.created_at(foo.created_at)
     xml.last_updated(foo.updated_at)
     foo.bars.each do |bar|
         xml << render(:partial => 'bar/_bar', :locals => { :bar => bar })
     end
 end
Run Code Online (Sandbox Code Playgroud)

这将解决问题,除了XML输出没有正确缩进.输出看起来类似于:

<foo>
  <id>1</id>
  <created_at>sometime</created_at>
  <last_updated>sometime</last_updated>
<bar>
  ...
</bar>
<bar>
  ...
</bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

<bar>元素应该在下面排列<last_updated>的元素,它是一个孩子<foo>是这样的:

<foo>
  <id>1</id>
  <created_at>sometime</created_at>
  <last_updated>sometime</last_updated>
  <bar>
    ...
  </bar>
  <bar>
    ...
  </bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

如果我将bar/_bar.xml.builder中的内容复制到模板中,那么效果很好,但事情就是不干.

ruby xml ruby-on-rails xml-builder

17
推荐指数
2
解决办法
1万
查看次数

NameError:未初始化的常量ActiveRecord :: Associations :: Builder :: XMLMarkup

我发现一个标题与此标题非常类似的帖子,但它没有给我我想要的答案.我试图在模型中使用builder.代码看起来像这样:

require 'builder'

class Document < ActiveRecord::Base
...
  def create_xml
  xml = Builder::XmlMarkup.new( :indent => 2)
  ...
  end
...
end
Run Code Online (Sandbox Code Playgroud)

当我尝试执行此代码时,出现以下错误:

NameError: uninitialized constant ActiveRecord::Associations::Builder::XMLMarkup
Run Code Online (Sandbox Code Playgroud)

但是,当我在rails控制台中尝试相同的操作时,一切正常.
我错过了什么吗?任何帮助将非常感激.

ruby-on-rails xml-builder ruby-on-rails-3.1

12
推荐指数
1
解决办法
4955
查看次数

Ruby XML Builder,如何创建这个命名空间?

我正在使用Ruby的XML Builder并尝试找到正确的语法来重新创建以下RSS 2.0声明:

<rss version="2.0" 
xmlns:g="http://base.google.com/ns/1.0">
Run Code Online (Sandbox Code Playgroud)

使用XML Builder将上述块放在一起的合适方法是什么?

ruby ruby-on-rails xml-builder

7
推荐指数
1
解决办法
2374
查看次数

将XML解析为JSON并返回...使用xml2js和xmlbuilder?

试图解析XML为JSON与xml2js,然后使用返回JSON来XML xmlbuilder(通常修改编程内容之后).

认为这两个应该是补充,按照这篇文章https://github.com/oozcitak/xmlbuilder-js/issues/69.但是我遇到了一些困难,而且我必须得到正确的配置参数.

这是我正在运行的代码:

var xml = fs.readFileSync(__dirname + '/../xml/theme.xml', 'utf8');

xml2js.parseString(xml, { attrkey: '@',  xmlns: true }, function(err, json) {
    var xml2 = xmlbuilder.create(json,
       {version: '1.0', encoding: 'UTF-8', standalone: true}
    ).end({pretty: true, standalone: true})
});
Run Code Online (Sandbox Code Playgroud)

这是原始XML的第一部分:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">
    <a:themeElements>
        <a:clrScheme name="Office">
            <a:dk1>
                <a:sysClr val="windowText" lastClr="000000"/>
            </a:dk1>
            <a:lt1>
                <a:sysClr val="window" lastClr="FFFFFF"/>
            </a:lt1>
            <a:dk2>
                <a:srgbClr val="1F497D"/>
            </a:dk2>
            ...
     </a:themeElements>           
 </a:theme>
Run Code Online (Sandbox Code Playgroud)

这里; xml2js如何将其解析为JSON,这对我来说是正确的:

{
    "a:theme": {
        "@": {
            "xmlns:a": …
Run Code Online (Sandbox Code Playgroud)

xml-builder node.js xml-parsing

6
推荐指数
1
解决办法
3万
查看次数

我可以使用什么来生成本地XML文件?

我有一个我正在研究的项目,我对Rails或Ruby不太了解.

我需要从用户输入生成XML文件.有人可以指导我使用任何可以快速,轻松地告诉我如何做到这一点的资源吗?

ruby xml ruby-on-rails xml-builder

4
推荐指数
2
解决办法
6303
查看次数

在Node.js中使用xmlbuilder在xml中添加namspace

我正在使用xmlbulilder包在nodejs中生成xml,现在我的要求是向xml添加名称空间。例如

<nsA:root xmlns:nsA="namespaceA" xmlns:nsB="namespaceB">
    <nsB:nodeA attrC="valC">nodeText</nsB:nodeA>
</nsA:root>
Run Code Online (Sandbox Code Playgroud)

我们该怎么做?感谢帮助!

xml xml-namespaces xml-builder node.js

4
推荐指数
1
解决办法
1231
查看次数

无法使用“xmlbuilder”node.js 模块在 XML 中创建 CDATA 部分

我正在使用“xmlbuilder”node.js 模块来创建 xml 文件。我需要创建一个 CDATA 部分,如下所示:

<notestext><![CDATA[{Notes Text}]]></notestext>
Run Code Online (Sandbox Code Playgroud)

我参考了github链接,但没有找到任何有用的东西。

如何使用“xmlbuilder”node.js 模块在 xml 文件中创建此类 CDATA 部分?

let builder = require('xmlbuilder', { encoding: 'utf-8' });
let xml = builder.create('Slides');
xml.ele("notestext","<![CDATA[" + element.notes_text + "]]>");
xml.end({ pretty: true });

console.log(xml.toString());
Run Code Online (Sandbox Code Playgroud)

javascript xml xml-builder node.js npm

3
推荐指数
1
解决办法
3135
查看次数

rails 3 中 XML 构建器的布局

我想为 XML 响应创建通用布局文件。例如,我想将 RSS 的那些通用部分包装在布局中,并将内容生成在相应的视图文件中。

例如,

# in layout/rss.xml.builder
xml.instruct!
...... # other general stuff for RSS

  yield

# in items/show.xml.builder
xml.item ......
Run Code Online (Sandbox Code Playgroud)

因此,项目显示视图无需担心 RSS 包装。

然而,产量不起作用,只呈现布局,但视图没有返回任何内容。

请帮忙。

layout yield ruby-on-rails xml-builder

2
推荐指数
1
解决办法
824
查看次数