我正在尝试使用E4X在JavaScript中过滤一些XML,并且有一些特定的需求。鉴于以下内容:
var xml = <body> <div> <p>This is some text that I have.</p> </div> </div>;
我想在文档中搜索以“这是一些文字”开头的段落。
目前,我可以通过以下内容获取该段落:
xml..div(p.text().toString().indexOf("This is some text") === 0)
但是,“真正的”XML要复杂得多(想想:常规网页)。无法保证会有一个div直接在问题中为段落提供帮助。在相同的父元素中,在相关段落之前/之后可能有其他段落。
有什么想法吗?
答案 0 :(得分:3)
使用双点运算符搜索所有&lt; p&gt;任何嵌套调平的节点,然后过滤掉节点,只包括以您想要的字符串开头的节点。你很亲密,你只需要摆脱&lt; div&gt;因为,如你所说,&lt; div&gt;可能不存在。:
xml..p.( text().toString().indexOf("This is some text") == 0 );