通过PHP远程URL发送XML文件

时间:2012-07-26 10:42:30

标签: php xml

情况如下。我必须将一个已定义的XML发送到一个url http:\\www.example.com:1234,其中包含我之前必须定义的一些变量。

XML就像这样:

<Title1>
<Title2>Some Text</Title2>
<Title3>Variable 1</Title3>
<Title4>Some Text</Title4>
<Title5>
    <Title51>Variable 2</Title51>
</Title5>
</Title1>

但是,我想在html / php表单和get方法中定义那些变量(1,2),因此用户可以引入这两个变量,然后单击表单中的“提交”按钮将XML发送到之前的URL。

此外,XML应该有"Content-Type","application/x-www-form-urlencoded"标题。

这可能吗?我试图将这些变量直接传递给XML,而我最好的方法是显示XML而不是解析php字符串。

另外,我尝试过一些像PHP类的simplexml这样的脚本,但到目前为止还没有运气。

1 个答案:

答案 0 :(得分:0)

1)使用新值修改现有XML。试试这个

sample.xml

<Title1>
   <Title2>Some Text</Title2>
   <Title3>Variable 1</Title3>
   <Title4>Some Text</Title4>
   <Title5>
      <Title51>Variable 2</Title51>
   </Title5>
</Title1>

PHP:

$xml = simplexml_load_file("sample.xml");
$xml->Title3 = $_GET['t3'];              // Updating <Title3></Title3> from GET method
$xml->Title5[0]->Title51 = $_GET['t5'];  // Updating <Title51></Title51> from GET method
$xml->asXML('sample.xml');               // saving the xml file

2)创建新的XML文件(sample.xml):

PHP:

$xml = new SimpleXMLElement("<Title1></Title1>");
$xml->Title2='Some Text';
$xml->Title3 = $_GET['t3'];
$xml->Title4='Some Text';
$xml->Title5[0]->Title51 = $_GET['t5'];
$xml->asXML('sample.xml');               // saving the xml file

我已向您展示了评论中提到的两种可能性。使用任何让您感到安慰的人:)