将字符串转换为XML DOM

问题描述 投票:0回答:1

我有以下字符串数组,请注意,在我的情况下,该数组永远不会超过4的长度

["Scott","Bill","Basketball","2000"]

为了给您一些背景信息,我将此数组存储在浏览器的本地存储中。好的,现在我陷入了将数组“变形”为XML的困境。让我解释,我正在寻找类似的东西

<root>
     <person>
            <pnane>Scott</pname>
            <psurname>Bill</pname>
            <pnane>Basketball</pname>
            <pnane>2000</pname>
     </person>
</root>



总而言之,我正在寻找转换字符串数组并将其值传递到XML预定义模板的方法。

对此有任何想法/看法吗?

谢谢;)

javascript html xml parsing dom
1个回答
0
投票

您可以使用jquery轻松转换xml对象

var arr= ["Scott&","Bill<test>","Basketball","2000"]
var xmlStr="<root><person>";
xmlStr+="<pname>"+removeSpecialchars(arr[0])+"</pname>"
xmlStr+="<psurname>"+removeSpecialchars(arr[1])+"</psurname>"
xmlStr+="<psuppot>"+removeSpecialchars(arr[2])+"</psuppot>"
xmlStr+="<pyear>"+removeSpecialchars(arr[3])+"</pyear>"
xmlStr+="</person></root>";


var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlStr,"text/xml");

console.log(xmlDoc.documentElement.innerHTML);

function removeSpecialchars(el) {
   return el.replace(/&/g, '&amp;amp;')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;')
            .replace(/"/g, '&quot;')
            .replace(/'/g, '&apos');
}
© www.soinside.com 2019 - 2024. All rights reserved.