小编ana*_*ana的帖子

使用PHP中的XSLT转换XML

我正在尝试将两个xml文件和一个XSLT文件组合成一个XHTML页面.我之前没有这样做,也无法弄清楚如何做到这一点.这是我到目前为止,只有一个xml文件:

<?php

$xsl = new DOMDocument();
$xsl->load("file.xsl");
$inputdom = new DomDocument();
$inputdom->load("file.xml");

$proc = new XSLTProcessor();
$xsl = $proc->importStylesheet($xsl);
$proc->setParameter(null, "", "");

$newdom = $proc->transformToDoc($inputdom);
print $newdom-> saveXML();
Run Code Online (Sandbox Code Playgroud)

带有:ss命名空间的xsl-file.我不确定如何使用ss前缀?

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">

<xsl:template match="/">
  <html>
  <body>

  <table border="1">
    <tr bgcolor="#9acd32">
      <th>Title</th>
      <th>Title2</th>
    </tr>
    <xsl:for-each select="something/some">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="title2"/></td>
    </tr>
   </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

XML文件

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="file.xsl"?>
<something>
  <some>
    <Firstname>Peter</Firstname>
    <Lastname>Anderson</Lastname>
  <some>
.....
Run Code Online (Sandbox Code Playgroud)

如果有人能给我正确的方向,我将不胜感激.

这是第二个xml文件:

<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office" …
Run Code Online (Sandbox Code Playgroud)

php xml xslt

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

渲染Ruby on Rails后保持参数

我有一个属于用户的项目。在我的用户视图中,我有一个添加新项目的链接,其中包含要向其添加项目的用户的参数。

<%= link_to 'Add new project', :controller => "project", :action => "new", :id => @user %>

Url: /projects/new?id=62 
Run Code Online (Sandbox Code Playgroud)

向用户添加项目是可行的。问题是当添加新项目时验证失败时,我将进行渲染。

def create

    @project = Project.new(params[:project])

    if @project.save
        redirect_to :action => "show", :id => @project.id
    else
        render :action => "new"
    end

end
Run Code Online (Sandbox Code Playgroud)

视图:

<%= form_for @project do |f| %>

    <%= f.label :name %>
    <%= f.text_field :name %>

    <%= f.hidden_field :user_id , :value => params[:id] %>

    <%= f.submit "Create project" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

路线

resources :users do
 resources :projects
end
Run Code Online (Sandbox Code Playgroud)

渲染后如何为用户保留参数?还是有一些更好的方法来做到这一点?一直在看很多类似的问题,但无法解决。

ruby-on-rails form-for

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

PHP循环遍历数组

我有一个如下所示的数组($ array):

Array
(
[0] => Array
    (
        [0] => A
        [1] => B
        [2] => C
    )

[1] => Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
    )

[2] => Array
    (
        [0] => apple
        [1] => orange
        [2] => banana
    )

)
Run Code Online (Sandbox Code Playgroud)

使用CreateXML我想获取数组并创建一个XML文档,但我遇到了一些问题.我正在使用foreach从每个数组中获取第一个值,因为我希望[0] A [0] 1 [0] apple位于一个元素中,依此类推.使用我现在拥有的代码它可以用于一个元素,我该怎么做才能生成所有元素?迷失在循环中,只是无法正确...感谢您的帮助!

public function CreateXML($array){

    foreach ($array as $arr) {
        $array2[] = $arr[0];
    }

    $xmlDoc = new DOMDocument();

    $root = $xmlDoc->appendChild(
      $xmlDoc->createElement("rootelement"));

    $tag = $root->appendChild(
          $xmlDoc->createElement("element"));

    $tag->appendChild(
       $xmlDoc->createElement("Letter", $array2[0])); …
Run Code Online (Sandbox Code Playgroud)

php xml arrays

5
推荐指数
1
解决办法
197
查看次数

Django DateTimeField输入表单

我的DateTime模型中有一个字段,我正在寻找一种简单的方法,使其在表单中看起来不错.像这样的东西SelectDateWidget.

我一直在寻找很多类似的问题,看起来像管理日期选择器或jquery这样的东西似乎很棘手.(这是我第一次使用Django,之前从未使用过jquery).

所以,我使用的ChoiceField这个例子,但是我无法让它工作.我得到错误名称'self'未定义.我可以不在self这里使用吗?或者有一些更简单的方法来做到这一点?我不需要花哨的日期选择器,只需要让用户轻松输入.

class ProjectForm(ModelForm):
    startdate = forms.DateField()
    starthour = forms.ChoiceField(choices=((6,"6am"),(7,"7am"),(8,"8am"),(9,"9am"), ...))
    startminute = forms.ChoiceField(choices=((0,":00"),(15,":15"),(30,":30"),(45,":45")))

    class Meta:
        model = Project

    def clean(self):
        starttime = time(int(self.cleaned_data.get('starthour')), 
                         int(self.cleaned_data.get('startminute')))
        return self.cleaned_data

    try:
        self.instance.start_time = datetime.datetime.combine(
            self.cleaned_data.get("startdate"), starttime)
    except TypeError:
        raise forms.ValidationError("")
Run Code Online (Sandbox Code Playgroud)

django datetime

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

更改rails的版本

我不小心将我的rails版本改为4.0.0.我已经尝试过gem uninstall rails --version = 4.0.0.rc1并安装版本3.2.13但是当rails -v它仍然是版本4.0.0时.然后我尝试了gem uninstall rails,它给了我"Successfully uninstalled rails-3.2.13".认为这很容易做到,但我找不到简单的解决方案.

ruby-on-rails rvm

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

标签 统计

php ×2

ruby-on-rails ×2

xml ×2

arrays ×1

datetime ×1

django ×1

form-for ×1

rvm ×1

xslt ×1