【问题标题】:Passing a xml from php to javascript as an object将 xml 作为对象从 php 传递到 javascript
【发布时间】:2013-12-04 20:01:56
【问题描述】:

我有一个描述网站菜单的 xml:

<?xml version="1.0" encoding="UTF-8"?>
<menu>
        <item titulo="Início" tipo="conteudo" codigo="inicio" classe="btnMenu01" />
        <item titulo="O Sintran" tipo="submenu" codigo="osintran" classe="btnMenu01">
            <subitem titulo="Apresentação" tipo="pagina" codigo="apresentacao" classe="btnMenu02" />
            <subitem titulo="Editorial" tipo="lista" param="artigos,assunto,editorial" codigo="editorial" classe="btnMenu02" />
            <subitem titulo="Estatuto" tipo="arquivos" param="descricao,estatuto" codigo="estatuto" classe="btnMenu02" />
        </item>
        <item titulo="Notícias" tipo="conteudo" codigo="noticias" classe="btnMenu01" />
        etc...
    </menu>

只有两个级别,所以很简单。我通过这一行传递给 JavaScript:

var SubMenus = <?php echo(json_encode($SubMenus)) ?>;

我可以通过以下方式列举我需要的值:

for(i in SubMenus){
    console.log("Submenu "+i+"...");
    Atts = SubMenus[i]["@attributes"];
    for(j in Atts){
        console.log(" - "+j+": "+Atts[j]);
    }
}

问题是 @attributes 对 JavaScript Object 类型没有任何意义,我自己发现了这个属性。所以我不确定我是否使用了正确的技术来完成这项任务,我可能会使用一种在事情变得复杂时会崩溃的方法......

你是如何完成这项任务的?或者你觉得这样可以吗?

【问题讨论】:

    标签: javascript php xml json object


    【解决方案1】:

    试试这个:

    Atts = SubMenus[i].attributes;
    // did not work for user
    

    更新:查看此post on converting xml to an object with javascript,它还将显示您如何访问/打印它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 2011-11-02
      相关资源
      最近更新 更多