如何在标记xml之前和之后下线

时间:2012-02-15 08:21:09

标签: php xml

  1. 在将标记xml <newWord>写入正确位置之前,我该如何下线?在标记<Heb>
  2. 之前

    我的代码重写了xml文件,当他添加数据时,他添加到第一行,他从js获得的所有数据和这一行的长度都很大。

    我的代码:

    <?php
      $wordH=$_GET['varHeb'];
      $wordE=$_GET['varEng'];
      $new_line = "\n";
      $doc='';
    
        if(!$doc)
        {
            $doc = new DOMDocument();
            // we want a nice output
            $doc->formatOutput = true;
            $doc->load('Dictionary_user.xml');
        }
        $Dictionary_user = $doc->documentElement;
            $newWord = $doc->createElement('newWord');
       CHARSET=windows-1255"');
    
        $prop = $doc->createElement('Heb', $wordH);
        $newWord->appendChild($prop);
        $prop = $doc->createElement('Eng',$wordE);
        $newWord->appendChild($prop);
    
    
        $Dictionary_user->childNodes->item(0)->parentNode->insertBefore($newWord,$Dictionary_user->childNodes->item(0));
        header("Content-type: text/xml");
    
        $doc->save("Dictionary_user.xml");
    echo $doc->saveXML();
    
    ?>
    

    糟糕的结果是:

    <?xml version="1.0" encoding="UTF-8"?>
    

    <Favorite_Word xml:lang="EN"><newWord><Heb>test1</Heb><Eng>test2</Eng></newWord><newWord><Heb>test1</Heb><Eng>test2</Eng></newWord><newWord><Heb>test1</Heb><Eng>test2</Eng></newWord> test1test2`

    <newWord>
        <Heb>cow</Heb>
        <Eng>Co</Eng>
    </newWord>
    <newWord>
        <Heb>Camel</Heb>
        <Eng>Ca</Eng>
    </newWord>
    <newWord>
        <Heb>Bull</Heb>
        <Eng>BUl</Eng>
    </newWord>
    

    好的结果是:

    <Favorite_Word xml:lang="EN">
    <newWord>
        <Heb>test1</Heb>
        <Eng>test2</Eng>
    </newWord>
    <newWord>
        <Heb>cow</Heb>
        <Eng>Co</Eng>
    </newWord>
    <newWord>
        <Heb>Camel</Heb>
        <Eng>Ca</Eng>
    </newWord>
    <newWord>
        <Heb>Bull</Heb>
        <Eng>BUl</Eng>
    </newWord>
    

1 个答案:

答案 0 :(得分:1)

加载已创建的DOM文档时,

formatOutput不起作用。通常通过load*()方法组。但是如果你创造它,它就会起作用。

您可以使用正则表达式执行此操作。幸运的是someone has done it已经。

XML用于数据交换。如果您可以生成有效的xml文档而其他方可以阅读它,则会提供其用途。新线条,空格完全被忽略。所以你称之为坏的xml并不是坏的。它完全没问题。