【发布时间】:2011-11-10 18:34:28
【问题描述】:
所以使用我之前的“question”中的建议,我已经能够得到我想要的结果。
我想知道是否有人有一种简单的方法可以在同样包含非 XML 内容的 Rails 视图中显示这些结果。
我研究过 XSLT,但对它了解得不够多,尤其是与 Rails 无关,不知道我是否应该花时间在这方面。如果是这样,我会喜欢一些关于如何在 Rails 视图中使用 XSLT 的指示。
我正在寻找的是显示“sdnEntry”结果列表(有关详细信息,请参阅“XML Schema”。)
正如您将在“XML Schema”中看到的那样,并非所有的“sdnEntry”项都具有相同的元素。因此,我想显示有关每个“sdnEntry”的以下信息,并在适用的情况下省略任何空元素。
请随时在 cmets 中提问。非常感谢您的帮助。
编辑#1:XML 文件可以在here 找到。 (6MB)
编辑#2:我更喜欢<dl>/<dt><dd> 列表。哎呀,我什至会满足于一张普通的旧桌子。至于空元素,您将从模式中看到,一些子元素(如“firstName”或“address3”等)的出现次数最少为 0,因此不是每个“sdnEntry”都可以找到。如果可能的话,我宁愿不显示空白的子元素。如果那是个问题,如果需要,我可以在最后使用空白。
编辑#3:结果将始终是一个或多个“sdnEntry”项目的 Nokogiri 节点集。这就是我需要展示的全部内容。我相信,有了足够的指导或示例代码,我可以将提供的任何解决方案应用于其他需求。
【问题讨论】:
-
当您说“在 Rails 视图中显示这些结果”时,您的意思是要以“漂亮”格式显示原始 XML,例如 this image?如果是这样,语法着色重要吗?还是您的意思是您想从 XML 中提取信息并以漂亮的格式显示(例如,作为
<dl>/<dt><dd>列表自定义标记和格式化)?如果是这样,您是否需要通用解决方案(任何 XML sn-p)或针对您获得的特定结果量身定制的解决方案? -
我不知道你在倒数第二段中的意思是什么,“我想显示有关每个'sdnEntry'的以下信息”。您是否打算提供要显示的特定元素的列表?或者你是说即使没有特定的子元素(例如,如果
<firstName>被合法省略)你仍然想在输出中包含一个空元素? -
您忘记提供所需的输出(我希望所提供的链接指向 XML 文档)。
-
在上面的编辑中提供了响应。
标签: ruby-on-rails xml xslt nokogiri