Perl 变量的XML值

Perl 变量的XML值,perl,cgi,Perl,Cgi,我有一个返回XML结果的perl脚本,我试图将这些值设置为变量,但我甚至不能用XML::Simple将它们分开 我试过: 从“}{”标题“}{”正文“}”打印$xml->{”到“}{”文本。\n 要顺利返回XML值,但我需要将它们设置为变量: 美元至 美元自 $heading $body 以下是我所拥有的: #!/usr/bin/perl print "Content-type: text/html\n\n"; use strict; use warnings; use LWP::Simpl

我有一个返回XML结果的perl脚本,我试图将这些值设置为变量,但我甚至不能用XML::Simple将它们分开

我试过: 从“}{”标题“}{”正文“}”打印$xml->{”到“}{”文本。\n

要顺利返回XML值,但我需要将它们设置为变量:

  • 美元至
  • 美元自
  • $heading
  • $body
  • 以下是我所拥有的:

    #!/usr/bin/perl
    
    print "Content-type: text/html\n\n";
    
    use strict;
    use warnings;
    use LWP::Simple;
    use XML::Simple;
    
    my $xml;
    
    my $XML_Server = "http://videotuber.atwebpages.com/cgi-bin/cgitest.pl";
    my $UserContent = get($XML_Server);
    
    
    print qq~$UserContent \n\n~;
    
    
    print $xml->{"to"}{"from"}{"heading"}{"body"} . "\n";
    

    有很多事情让人们很难帮助你:

  • 您不包括XML输入的示例
  • 您没有包含代码预期输出的示例
  • 您提供的URL包含无效的XML
  • 您正在尝试使用XML::Simple—没有人推荐这样做
  • 显然,您不理解Perl引用,所以您只是从“}{”heading“}{”body}编成了“}{code>$xml->{”到“}{”并说它不起作用

  • 我建议更改生成要获取的URL的代码,以创建有效的XML(在
    Grant之前没有空行,非常感谢,这正是我所需要的!
    
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    use LWP::Simple;
    use XML::LibXML;
    
    my $xml_server = "http://videotuber.atwebpages.com/cgi-bin/cgitest.pl";
    my $user_content = get($xml_server);
    
    my $dom = XML::LibXML->load_xml(string => $user_content);
    
    my $to      = $dom->findvalue('/note/to');
    my $from    = $dom->findvalue('/note/from');
    my $heading = $dom->findvalue('/note/heading');
    my $body    = $dom->findvalue('/note/body');
    
    print "To:      $to\n";
    print "From:    $from\n";
    print "Heading: $heading\n";
    print "Body:    $body\n";
    
    <?xml version="1.0" encoding="UTF-8"?>
    <note>
      <to>alice</to>
      <from>bob</from>
      <heading>reminder</heading>
      <body>don't forget the milk</body>
    </note>