2

美好的一天。使用 crxml 存储库时,未正确生成 xml 文档。这就是在文档中添加新元素时发生的情况。行动方案:首先我创建文档

        $this->genXml->Item['Type'] = 'view';
        $this->genXml->Item->{'http://'.$this->siteUrll.'|Name'}    = 'Last View';

        $this->genXml->Item->LastView->View->Time = $app['Time'];
        $this->genXml->Item->LastView->View->Action = $app['Action'];
        $this->genXml->Item->LastView->View->IP = $app['IP'];
        return $this->genXml->xml();

我得到了这种xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Item Type="view">
  <Name xmlns="http://sitename.com">Last View</Name>
  <LastView>
    <View>
      <Time>11:45:12</Time>
      <Action>Click</Action>
      <IP>192.168.1.1</IP>
    </View>
  </LastView>
</Item>

在完成结果的基础上添加新值

            $GetFile = <<<EOB
        <?xml version="1.0" encoding="UTF-8"?>
            <Item Type="view">
              <Name xmlns="http://sitename.com">Last View</Name>
              <LastView>
                <View>
                  <Time>11:45:12</Time>
                  <Action>Click</Action>
                  <IP>192.168.1.1</IP>
                </View>
              </LastView>
            </Item>
        EOB;
            $this->genXml->loadXML($GetFile);
            $this->genXml->Item->LastView->View[2]->Time = $app['Time'];
            $this->genXml->Item->LastView->View[2]->Action = $app['Action'];
            $this->genXml->Item->LastView->View[2]->IP = $app['IP'];

            echo($this->genXml->xml());

并获取错误代码 xml

<?xml version="1.0" encoding="UTF-8"?>
<Item Type="view">
      <Name xmlns="http://sitename.com">Last View</Name>
      <LastView>
        <View>
          <Time>11:45:12</Time>
          <Action>Click</Action>
          <IP>192.168.1.1</IP>
        </View>
      <View/><View><Time>11:45:12</Time><Action>Click</Action>   <IP>192.168.1.1</IP></View></LastView>
    </Item>

即标签在哪里

<View/>    

帮助解决输出问题。也许我做错了什么?(对不起我的英语,我知道我没有我想要的那么好)只需提供存储库的链接和问题的描述

4

1 回答 1

1

这有点搞笑,因为它是信息学的典型问题。我们喜欢从 0 开始计数。您创建了 ID 为 0(隐式)的第一个视图。如果您现在添加一个 ID 为 2 的新视图,它会错过 ID 1 并简单地插入一个空视图。因此,结果在语法上是正确的。

您只需将添加的视图的索引更改为 1 即可防止这种情况发生。

于 2013-07-26T13:27:05.190 回答