Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery解析xml模板_Javascript_Jquery_Xml_Dom - Fatal编程技术网

Javascript 使用jQuery解析xml模板

Javascript 使用jQuery解析xml模板,javascript,jquery,xml,dom,Javascript,Jquery,Xml,Dom,所以我有一个类似于模板的脚本,我正试图用jQuery解析它。问题是我想用数据替换某些标记,这通常是好的,但我想循环对象属性,这使它变得非常困难 我希望尽可能少地依赖外部库,所以这里只使用jQuery。我知道Angular可能会帮上忙,但我还不知道 模板代码如下所示: 事情 事情2 事情3 废话 福:福 我想传入以下JSON对象: { 名单:[ {thing:3,thing:2:4,thing:3:5,更多内容:[{blah:1,foo:2},{blah:4,foo:6}], {thing:1

所以我有一个类似于模板的脚本,我正试图用jQuery解析它。问题是我想用数据替换某些标记,这通常是好的,但我想循环对象属性,这使它变得非常困难

我希望尽可能少地依赖外部库,所以这里只使用jQuery。我知道Angular可能会帮上忙,但我还不知道

模板代码如下所示:


事情
事情2
事情3
废话
福:福
我想传入以下JSON对象:

{
名单:[
{thing:3,thing:2:4,thing:3:5,更多内容:[{blah:1,foo:2},{blah:4,foo:6}],
{thing:1,thing2:1,thing3:2,moreStuff:[{blah:4,foo:6}]}
]
}
我想说的是:


3.
4.
5.
废话:1
傅:2
废话:4
傅:6
1.
1.
2.
废话:4
傅:6
我用正则表达式让它正常工作,但是用DOM操作当然更干净,这样做也更具可扩展性。造成麻烦的是
标记的递归性质以及
标记必须从其父标记获取数据的事实


我已经尝试了很多方法来实现这一点,但每次我要么遇到递归问题(无限递归,我无法让它替换东西),要么它无法正确地提取数据。有什么方法可以很好地做到这一点吗?

您尝试过这些jQuery插件吗


使用,是吗?@TimDown:它是通过一个
$.ajax
请求传入的,但是是的,我想第一个就可以了。然而,我试图在没有任何外部库的情况下完成这项工作,因为我的功能需求非常少。也就是说,如果没有简单的方法可以做到这一点(以上这些就是我现在所需要的),那么我可能会使用其中一个库。我只是想尽量减少依赖性。
<div id="test">
    <div class="listdiv">
        <span>3</span>
        <span>4</span>
        <span>5</span>
        <div>
            <span>blah: 1</span>
            <span>foo: 2</span>
            <span>blah: 4</span>
            <span>foo: 6</span>
        </div>
    </div>
    <div class="listdiv">
        <span>1</span>
        <span>1</span>
        <span>2</span>
        <div>
            <span>blah: 4</span>
            <span>foo: 6</span>
        </div>
    </div>
</div>