标签: simplexml

使用simplexml解析XML

您好我试图用simplexml解析XML.问题是我无法访问atributtes,任何想法为什么?

PHP代码:

$xml = simplexml_load_file($source);
foreach($xml->children() as $node) {
     foreach ($node->AttrList->attributes() as $attribute) {
          print_r ($attribute);
     }
}
Run Code Online (Sandbox Code Playgroud)

一块XML:

<ProductCatalog>
  <Product>
    <ProductCode>ST905003FND2E1-RK</ProductCode>
    <Vendor>SEAGATE</Vendor>
    <ProductType>HDD External</ProductType>
    <ProductCategory>Cietie diski</ProductCategory>
    <ProductDescription>HDD External SEAGATE FreeAgent Go 5400.2 (2.5",500GB,8MB cache,USB 2.0,FreeAgent software) Black</ProductDescription>
    <Image>https://www.it4profit.com/catalogimg/wic/1/ST905003FND2E1-RK</Image>
    <ProductCard>https://content.it4profit.com/itshop/itemcard_cs.jsp?ITEM=90728055033221913&amp;THEME=asbis&amp;LANG=lv</ProductCard>
    <AttrList>
      <element Name="Device Location" Value="External"/>
      <element Name="Hard Drive Type" Value="Portable"/>
      <element Name="Form Factor" Value="2.5&quot;"/>
      <element Name="Storage Capacity" Value="500000 MB"/>
      <element Name="Supports Data Channel" Value="USB 2.0"/>
      <element Name="Installed Cache Memory Storage Capacity" Value="8 MB"/>
      <element Name="Sector Capacity" Value="512 B"/>
      <element Name="Rotational …
Run Code Online (Sandbox Code Playgroud)

php xml simplexml

-1
推荐指数
1
解决办法
548
查看次数

SimpleXMLElement对象

当我这样做时,print_r($nodes);我得到:

Array (
  [0] => SimpleXMLElement Object (
    [kategoria_6] => 1
    [opis_6] => 1
    [img] => slides/slide0.jpg
  )
  [1] => SimpleXMLElement Object (
    [kategoria_6] => 2
    [opis_6] => 2
    [img] => slides/slide1.jpg
  )
  [2] => SimpleXMLElement Object (
    [kategoria_6] => 3
    [opis_6] => 3
    [img] => slides/slide4.jpg
  )
  [3] => SimpleXMLElement Object (
    [kategoria_6] => 4
    [opis_6] => 4
    [img] => slides/slide3.jpg
  )
  [4] => SimpleXMLElement Object (
    [kategoria_6] => 7
    [opis_6] => 7
    [img] => slides/slide2.jpg
  ) …
Run Code Online (Sandbox Code Playgroud)

php xml simplexml

-1
推荐指数
1
解决办法
776
查看次数

解析xml文件时,如何解决错误“使用未定义的常数id-假定为'id'”?

可能重复:
具有连字符名称的SimpleXML Reading节点

我解析包含这样的字段的xml文件:

<offers>
    <offer>
       <type>Vehicle</type>
       <type-id>2</type-id>
       <category>Car</category>
       <category-id>3</category-id>
       ...
    </offer>
    <offer>
       <type>Vehicle</type>
       <type-id>2</type-id>
       <category>Car</category>
       <category-id>3</category-id>
       ...
    </offer>
    ...
</offers>
Run Code Online (Sandbox Code Playgroud)

$xml = simplexml_load_file($file);首先使用,然后尝试在foreach循环中获取值后,出现错误“使用未定义的常数id-假定的'id'”,其中字段包含“ id”作为它们的一部分,例如“ type-id”或“ category-id”

 foreach($xml->offers->offer as $offer) {
                    echo $offer->type; // WORKS JUST FINE
                echo $offer->type-id; //THIS GIVE ME ERROR                              
              }      
Run Code Online (Sandbox Code Playgroud)

我尝试设置,ini_set('error_reporting', E_ALL & ~E_NOTICE);但在它后面带有“ id”的字段返回零而不是值。

php simplexml

-1
推荐指数
1
解决办法
8009
查看次数

使用 SimpleXML for PHP 获取属性值

我在项目中使用 SimpleXMLElement 类来处理 xml 文件。

我的问题是:如何获取具有某些属性的某些标签的属性值?您可能会假设我知道标签的名称、属性的名称及其在 xml 文件中的位置。例如,对于这样一个<someTag cp="c2">知道值“someTag”和“cp”的字符串,我想获取字符串“c2”。

感谢是提前的。

php xml simplexml

-1
推荐指数
1
解决办法
6624
查看次数

PHP:XML解析问题

我正在使用SimpleXML来解析XMl文档.我需要能够读取/更新节点属性.

在这个XML文档中

<root>
  <node>ABC</node>
  <key>123</key>
  <node2>
     <key>456</key>
  </node2>
  <key>789</key>
</root>
Run Code Online (Sandbox Code Playgroud)

如何读取/更新所有关键节点?该文档没有特定的结构,所以我需要能够在不知道其位置的情况下找到它们.假设我想将关键节点中的数字乘以2.我该怎么做?

韩国社交协会.

php xml parsing simplexml xml-parsing

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

PHP printf没有打印,simplexml_load_string没有解析

我有一些不会打印的数据....

echo工作,但不是printf

字符串中有数据,simplexml_load_string也不会解析字符串.

有一些二进制或不可见的字符,我看不到,无法获得序数值导致printf失败以及PHP中的大多数其他字符串函数.

显然这是一个编码问题,但是,我不知道如何找出它是什么,所以我可以正确编码/解码它.

$string = getStringFromDatabase();
printf($string);
Run Code Online (Sandbox Code Playgroud)

...

Nothing is displayed
Run Code Online (Sandbox Code Playgroud)

...

No errors, No Warnings, No Nothing
Run Code Online (Sandbox Code Playgroud)

显然那里有数据,我知道如果我循环遍历每一个字符,那么,我不会去那里.

[更新]这很奇怪,因为序数值超出了典型的ASCII范围.

ord($ buffer [$ i])= 1610

它是DLE和LF角色的组合.不知道它是如何到达那里或为什么.或者它应该是什么,任何一方的数据都是有效的,而且这个位置很奇怪.

想想<在这里冒犯char> 0,000

php printf simplexml

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

标签 统计

php ×6

simplexml ×6

xml ×4

parsing ×1

printf ×1

xml-parsing ×1