Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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使用find contains遍历XML对象并过滤出异常_Javascript_Jquery_Xml_Xmlnode_Jquery Filter - Fatal编程技术网

Javascript 使用jQuery使用find contains遍历XML对象并过滤出异常

Javascript 使用jQuery使用find contains遍历XML对象并过滤出异常,javascript,jquery,xml,xmlnode,jquery-filter,Javascript,Jquery,Xml,Xmlnode,Jquery Filter,在我的编程逻辑中,我遵循了一个特定的XML规范。现在,一个新的XML规范已经发布,我必须同时适应这两种规范。特别是,我使用一行jQuery代码来选择一组特定的节点 // i is a number. XType is some made-up construct to illustrate the problem. // Here, I am selecting all Track tags with the above condition. trackMatches = $(xmlObj).f

在我的编程逻辑中,我遵循了一个特定的XML规范。现在,一个新的XML规范已经发布,我必须同时适应这两种规范。特别是,我使用一行jQuery代码来选择一组特定的节点

// i is a number. XType is some made-up construct to illustrate the problem.
// Here, I am selecting all Track tags with the above condition.
trackMatches = $(xmlObj).find("XType:contains(" + i + ")").parent();
旧的XML规范(我只包含了相关的信息,我用省略号表示没有显示更多的标记)


唱片名称
10
1.
...
100

一种方法是将.parent()替换为.closest和相关选择器。另一种方法是添加到原始选择器中,让它查找
轨迹的子元素,或者让它直接查找包含指定子节点的
轨迹的元素。谢谢。我喜欢使用。最近的建议。对于第二个问题,我知道可以在.find中使用多个选择器,这类似于OR。但是如何使用.find执行AND?我将其更改为
$(dispartsxml).find(“Track”).children(“XType:contains(1)”).parent()
。我的意思是像条件语句一样,比如if(a==b和c==d)。这可能是一个没有实际意义的问题,因为你找到了原始问题的答案。我记得多个选择器类似于OR条件语句。但我不记得是否可以在所有条件都必须为真的情况下执行.find操作(aka和)。谢谢你,没有空格和逗号。例如,div.foobar表示选择元素,其中
nodeType==div,classNames包含foobar
<Record>
    <Title>Record Title</Title>
    <TotalTracks>10</TotalTracks>
    <Tracks>
         <Track>
             <XType>1</XType>
             ...
             <Coordinates>
                 <Coordinate>
                     <X>100</X>
                     <Y><50</Y>
                 </Coordinate>
             </Coordinates>
         </Track>
         ...
    </Tracks>
</Record>
<Record>
    <Title>Record Title</Title>
    <TotalTracks>10</TotalTracks>
    <Tracks>
         <Track>
             <XType>1</XType>
             ...
             <Coordinates>
                 <Coordinate>
                     <XType>1</XType>
                     <X>100</X>
                     <Y><50</Y>
                 </Coordinate>
             </Coordinates>
         </Track>
         ...
    </Tracks>
</Record>