使用jQuery通过命名空间查找XML节点

Gol*_*den 5 xml jquery namespaces find

我们有一个XML文件,其中一些节点是命名空间的.基本上文件看起来像这样:

<foo>
    <bar xmlns:x="http://www.example.com/">
        <x:bla foo="bar" />
    </bar>
</foo>
Run Code Online (Sandbox Code Playgroud)

我们想要实现的是我们想要选择x:bla节点,但不幸的是我们事先并不知道节点的名称,只知道它的名称空间.因此我们所知道的基本上就是它是一个x:*节点.

现在,问题是:find一旦我们使用$.parseXML?解析XML文件,我们如何使用jQuery的方法选择这个节点?

使用$(xml).find("x\\:bla, bla")作品,但前提是我知道该节点被调用bla.

小智 5

你可以使用属性包含jQuery-selector(见这里)

xml.find("[nodeName*='x:']")
Run Code Online (Sandbox Code Playgroud)

  • 不,不.它忽略了XML命名空间的所有内容...... XML片段的创建者可能随时更改本地前缀,这将破坏您的实现......即使只是升级他的工具(可能在幕后使用某种序列化)也可能会破坏你的应用...... (3认同)