首页 > 解决方案 > PHP如何将文件内容加载为XML变量

问题描述

我需要将变量从 txt 文件加载到特定的 XML 元素。但有些我无法正确回应。

这是我的 txt 文件 (userlist.txt) abc xyz LMN 的输出

下面是代码。

<?php
           foreach(file('userlist.txt') as $line) {
          $xml_post_string = '<?xml version="1.0" encoding="utf-8"?>
          <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
                <soap:Body>
                <Getid xmlns="http://test_xyz/">
                <uname>'. $line. '</uname>
                 <org>Test_GRP</org>
               </Getid>
             </soap:Body>
        </soap:Envelope>';
       echo $xml_post_string;
 }
?>

下面是输出

 <?xml version="1.0" encoding="utf-8"?>
              <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
               <soap:Body>
                <Getid xmlns="http://test_xyz/">
               <uname>abc
             </uname>
              <org>Test_GRP</org>
            </Getid>
           </soap:Body>
          </soap:Envelope>

uname 元素不是内联的,不知道我是如何做到的。

标签: phpxml

解决方案


您需要标记file()以忽略每行末尾的新行...

file('userlist.txt', FILE_IGNORE_NEW_LINES)

推荐阅读