PHP不能解析c属性.因为其中一个字段的名称

本文关键字:一个 字段 不能 属性 因为 PHP | 更新日期: 2023-09-27 18:11:03

我有一个简单的c#应用程序,它从内部生成的属性中提取关键信息。设置文件。本质上,这是一个触发事件的定时系统。我现在正在编写一个web GUI,允许用户修改设置,因为这个服务(c#服务)是在服务器上运行的。

问题是这样的。当在PHP中解析xml文件时,我无法解析以下行:
 <userSettings>
    <TimingSystem.Properties.Settings>
        <setting name="Time1" serializeAs="String">
            <value>14:08</value>
        </setting>

TimingSystem.Properties。Settings在代码中抛出了一个错误,因为PHP不喜欢标签下面是代码:

    $mycode = simplexml_load_file('TimingSystem.exe.config');
    $Time1 = $mycode->configuration->userSettings->TimingSystem.Properties.Settings->setting['Time1']->value;

返回错误:

尝试获取非对象的属性

T_OBJECT_OPERATOR 语法错误

我如何解决这个问题,以便它可以解析设置文件。我不喜欢重写我的程序来使用常规的xml文件。

任何帮助都将非常感激。

PHP不能解析c属性.因为其中一个字段的名称

尝试将'。在{'xxx'}中分隔树名,如:

$mycode = simplexml_load_file('TimingSystem.exe.config');
$Time1 = $mycode->configuration->userSettings->{'TimingSystem.Properties.Settings'}->setting['Time1']->value;

不能100%肯定它会起作用,但值得一试。让我知道发生了什么。

或者,让它成为一个变量。

$treeName = 'TimingSystem.Properties.Settings';
$Time1 = $mycode->configuration->userSettings->$treeName->setting['Time1']->value;