@RusticAnd

Как динамически записывать данные в файл xml?

Добрый день. Работаю с системой digiseller (точнее пытаюсь разобраться с этой системой), и там чтобы получить товары, нужно в запросе отправлять файл xml с определенными настройками. В эти настройки входит передача номера категории, вот этот номер мне надо как то вставлять в файл динамично. Я получаю номер
категории
public function connect($c_url, $file_name)
    {
        $this->xml = file_get_contents($file_name);
        curl_setopt($this->ch, CURLOPT_HEADER, 0);
        curl_setopt($this->ch, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($this->ch, CURLOPT_POSTFIELDS,  $this->xml);
        curl_setopt($this->ch, CURLOPT_POST,1);
        curl_setopt($this->ch, CURLOPT_URL,$c_url);

        $result = curl_exec($this->ch);
        return $result;
    }

    public function category()
    {
        $category = $this->connect("http://shop.digiseller.ru/xml/shop_categories.asp", "../components/catalog.txt");

        $xml_load= simplexml_load_string($category);
        $json = json_encode($xml_load);
        $array = json_decode($json,TRUE);

        $id =[];
        foreach ($array['categories']['category'] as $category){
            $id[] = $category['id'];
        }
        return $id;
    }


Как его передать теперь динамично в файл? Уверен, что это не сложно, но что то не могу понять. Буду очень благодарен вашей помощи.
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
@anikavoi
Мне кажется - никак.
XML имеет открывающие и закрывающие тэги, соотвественно пока не перепишете весь блок - увы.

НО! Есть хак:

<somepart>
  <someitem name="item1"     >456</someitem>
  <!-- STRING FOR FUTURE -------------------->
  <!-- STRING FOR FUTURE -------------------->
  <!-- STRING FOR FUTURE -------------------->
  <!-- STRING FOR FUTURE -------------------->
</somepart>


т.е. накидать в блок дофига камментов фиксированой длины, и потом их просто заполнять по мере надобности строками, фиксированной же, длины. длину добивать пробелами внутри открывающего тэга
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы