0

Web ページの情報を xml ファイルから取得し、html を生成してデータを挿入する JavaScript コードがあります。これはうまくいきます。

getElementsByTagName("XmlNode")[0].childNodes[0].nodeValue;

データを html ハイパーリンク ブロック nodeValue に変更すると、null が返されます。

<XmlNode><a href='URL'>URL text</a></XmlNode>

この XML ノードのコンテンツを返すために使用する他のプロパティはありますか?

4

3 に答える 3

0

XML ノード内にマークアップを保持するには、CDATA を使用する必要があります。

<![CDATA[  html mark up  ]]>


<XmlNode><![CDATA[<a href='URL'>URL text</a>]]></XmlNode> 
于 2013-03-27T18:47:40.617 に答える
0

<a>その中のテキスト ノードではなく、 nodeValue を取得しようとしています。別の .childNodes[0] をチェーンに追加してテキスト ノードに到達するか、.nodeValue の代わりに .textContent を使用できます。

于 2013-03-27T18:45:24.397 に答える
0

私はこれを行うことがわかりました:

var xmlSerializer = new XMLSerializer();
function innerXml(node)
{
return xmlSerializer.serializeToString(node)
}

ソース: http://forums.asp.net/t/1341879.aspx/1

編集:もう少し調査を行った後、実際にこれを使用しました:

function innerXml(node)
{
    var innerXml = "";
    var nodes = node.childNodes;
    for(q=0;q<nodes.length;q++)
    {
        if (typeof window.XMLSerializer != "undefined")
            innerXml += xmlSerializer.serializeToString(nodes[q]);

        else if (typeof nodes[q].xml != "undefined")
            innerXml += nodes[q].xml;
    }

    innerXml = innerXml.trim();

    return innerXml;
}
于 2013-03-27T18:58:55.223 に答える