【问题标题】:Accessing Node of an XML object访问 XML 对象的节点
【发布时间】:2010-05-17 10:58:22
【问题描述】:

我正在尝试从 xml 文件中访问某些数据,这就是问题所在。

###XML FILE
<products>
    <product>
        ....
        ....
    </product>
    <product>
        ....
        ....
    </product>
    etc...
</products>

我知道我需要的数据在 ($products-&gt;product-&gt;myProdNode) 我有这个映射(和许多其他)作为字符串存储在我的数据库中,例如'product-&gt;prodCode'或'product-&gt;dedscriptions-&gt;short_desc'使用存储在我的数据库中的字符串访问这些数据。

提前感谢您的帮助!

【问题讨论】:

    标签: php xml object


    【解决方案1】:

    我认为如果您将 -> 替换为正斜杠 (/),它们实际上会变成 Xpath,您可以像这样查询 Node 内容。

    例如

    'product->dedscriptions->short_desc' should be mapped to
    'product/dedscriptions/short_desc'
    

    请阅读更多关于 Xpath here

    例如在 C# 中

    XmlNode.SelectSingleNode("product/dedscriptions/short_desc").InnerText 会得到简短的描述文本

    php

    $result = $record->xpath('descriptions/short_description');

    while(list( , $node) = each($result)) { echo '结果是:',$node,"\n"; }

    【讨论】:

    • 如何使用这种方法获取数据?
    • $record->xpath('descriptions/short_description'); - 我只想要值而不是 SimpleXMLElement 对象
    • 不知道SimpleXMLElement对象的属性和方法,但你应该访问内部文本或值
    猜你喜欢
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多