如何使用javascript从xml文件中提取html片段?

时间:2013-03-27 18:35:40

标签: javascript html xml

我有javascript代码从xml文件中提取网页信息并生成html并插入数据。这很有效。

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

当我将数据更改为html超链接块时,nodeValue返回null。

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

是否还有其他属性可用于返回此XML节点的内容?

3 个答案:

答案 0 :(得分:0)

您正在尝试获取<a>的nodeValue而不是其中的文本节点。您可以将另一个.childNodes [0]添加到链中以转到文本节点,也可以使用.textContent代替.nodeValue

答案 1 :(得分:0)

您应该使用CDATA在XML节点中保留标记。

<![CDATA[  html mark up  ]]>


<XmlNode><![CDATA[<a href='URL'>URL text</a>]]></XmlNode> 

答案 2 :(得分: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;
}