-2

一部のXMLを解析してから、特定の部分をさまざまなHTML要素に挿入しようとしています。

私はinnerHTMLルーチンを使用しており、<br>タグを挿入するたびに、XMLドキュメントとして、<br />または<br></br>XMLドキュメントでフォーマットすると、自動的に無視され、次のよう/にフォーマットされます。<br>

XMLソース:

&lt;br /&gt;

をHTML文字コードに置き換えるなど、さまざまなことを試しました/が、それでも挿入され<br>ます。

<br />または必要な<br></br> のはなぜこれが機能しないのですか?

編集:

XMLファイル:

<?xml version="1.0" encoding="iso-8859-1"?>
<questionContainer>

    <title>What is this?</title>

    <body>
    &lt;br /&gt;
    This is the login form to access the KayPop beta. New beta testers are accepted weekly, find our more or... 

    &lt;br / &gt;&lt;br / &gt;
    &lt;a href="#"&gt;Sign up here!&lt;/a&gt;
    </body>


</questionContainer>

Javascriptルーチン:

function insertXML()
    {
        $.ajax ({
            type: "GET",
            url: 'cd_catalog.xml',
            dataType: "xml",
            success: function( xml )
            {           
                $(xml).find('questionContainer').each(function(){
                    var title = $(this).find('title').text();
                    document.getElementById('q-T').innerHTML = title;

                    var bodyText = $(this).find('body').text();
                    document.getElementById('q-B').innerHTML = bodyText;
                });
            }
        });
    }

生成されたHTML(Chrome->要素の検査で表示):

http://i.imgur.com/0bq3q.png

4

1 に答える 1

3

ブラウザは、DOMの表現をメモリに保持します。

読むinnerHTMLと、DOMがHTMLにシリアル化されます。

ブラウザにXHTMLをシリアル化させる方法や、何かを表現する方法が複数ある場合に使用するHTML構文を制御する方法はありません(つまり、以上またはその逆の設定を指定することはできません(<p id=1>同上<p id="1">、、<br>)。<br /><br></br>

XHTMLが必要な場合は、DOM内のノードをウォークし、自分でXHTMLとしてレンダリングする必要があります。

于 2013-01-07T15:09:20.057 に答える