小编Mor*_*rph的帖子

PHP DOM:getElementsbyTagName

我担心这是一个非常愚蠢的问题,但在过去2小时内尝试了大量的组合后,我真的陷入了困境.我试图将NAME从XML文件中拉出来

我的XML文件:

<?xml version="1.0"?>
<userdata>
<name>John</name>
</userdata>
Run Code Online (Sandbox Code Playgroud)

我的PHP:

  $doc          =  new DOMDocument();
  $doc          -> load( "thefile.xml" );
  $thename       =  $doc -> getElementsByTagName( "name" );
$myname= $thename -> getElementsByTagName("name") -> item(0) -> nodeValue;
Run Code Online (Sandbox Code Playgroud)

错误:

Catchable fatal error: Object of class DOMElement could not be converted to string in phpreader.php
Run Code Online (Sandbox Code Playgroud)

我试过了

$myname= $thename -> getElementsByTagName("name") -> item(0) ;
$myname= $doc     -> getElementsByTagName("name") -> item(0) -> nodeValue;
$myname= $doc     -> getElementsByTagName("name") -> item(0) ;
Run Code Online (Sandbox Code Playgroud)

但都失败了.猜猜我已经尝试过几乎每个组合,除了正确的一个:(

php dom

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

£变成了£为什么?XML ISO编码问题?

很高兴通过PHP和SimpleDOM.php削减的Web表单将内容保存到我的XML文件中

我需要保存具有英文定价的物品,所以我需要英镑符号.但是,当我这样做时,会发生两件事:

  1. 它将保存的价格返回为£

  2. 如果我再次保存它而没有任何其他更改,SimpleDom解析器然后barfs并删除英文英镑符号之外的XML文件中的任何其他内容.

我的XML文件中的顶行看起来像

<?xml version="1.0" encoding="ISO-8859-1"?>
Run Code Online (Sandbox Code Playgroud)

在XML文件中,£被保存为

&amp;Acirc;&amp;pound;
Run Code Online (Sandbox Code Playgroud)

据我所知iso-8859-1应该有£符号,所以非常困惑为什么这个Acirc进入它....

我在另一个线程上看到有人说尝试使用8859-15,但这没有任何区别.

有什么想法吗?

干杯Jas(完成所有这些编码的东西)

xml encoding iso

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

PHP数组:添加新元素时重新编号元素

我有一个包含元素的PHP数组:

$myarray = array ( "tom", "dick", "Harry" );
Run Code Online (Sandbox Code Playgroud)

.我需要将数组固定为仅3个元素的大小.我需要添加一个新元素"jerry",这样阵列现在看起来像

 $myarray = array ( "jerry", "tom", "dick");
Run Code Online (Sandbox Code Playgroud)

所以在某种程度上我正在移动元素并且第4个元素掉线,最新的元素在开头.我可以手工编写所有这些,重新编号元素等.

我只是想知道是否有更快的方法来做到这一点.

非常感谢!Ĵ

php arrays shift

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

标签 统计

php ×2

arrays ×1

dom ×1

encoding ×1

iso ×1

shift ×1

xml ×1