【问题标题】:How to access array element "Array ( [#text] =>"如何访问数组元素“Array([#text] =>”
【发布时间】:2011-08-10 20:14:09
【问题描述】:

我有一个 XML,我把它变成了一个数组来对其进行排序,现在我想再次将它保存为 XML。如果我没有以下内容,这将不是问题:[caseid] => Array ( [#text] => 885470 ...

我需要:<caseid> 885470 </caseid>

对于字段名“caseid”,编写 DOM 已经很好,但字段值是一个名为“#text”的数组,我不知道如何解析。

我无法在 Google 上搜索“#”符号,所以搜索起来非常困难。

【问题讨论】:

  • 大概您是在循环中执行此操作。您需要检查每个节点的属性数组以获取 #text 值。如果存在,则必须将其提取,从数组中删除,并将其设置为 dom 节点的文本内容。
  • #text 是一个字符串:var_dump 显示如下caseid array(1) { ["#text"]=> string(6) "885470" }
  • 马克,你有这方面的例子吗?
  • 字段值不是标题为“#text”的数组。
  • #text 是 DOM 在获取 DOMText 的 nodeName 时返回的内容。有关说明,请参阅 stackoverflow.com/questions/4598409/…stackoverflow.com/questions/4979836/…

标签: php xml associative-array invalid-characters


【解决方案1】:

我能够通过将数组引用为字符串来访问数组中的数字。愚蠢的做法,但它有效;最好的解决方案是编辑数组到 xml 的转换,但也可以通过字符串访问数组元素。

我之前是这样访问数组元素的:

print_r($array[caseid][#text]); //<--Does not work with #
print_r($array[caseid]['#text']); //works 

同样,不是最漂亮的,但可行的解决方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2020-11-03
    • 2022-01-13
    相关资源
    最近更新 更多