JavaScript Xpath:以字符串形式返回结果

时间:2014-03-20 08:41:31

标签: javascript xml xpath

有没有办法将JavaScript中的xpath结果作为包含所有标记和属性的字符串返回?

例如,在以下xml:

<people xmlns:xul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" >
    <person>
        <name first="george" last="bush" />
        <address street="1600 pennsylvania avenue" city="washington" country="usa"/>
        <phoneNumber>202-456-1111</phoneNumber>
    </person>
    <person>
        <name first="tony" last="blair" />
        <address street="10 downing street" city="london" country="uk"/>
        <phoneNumber>020 7925 0918</phoneNumber>
    </person>
</people>

xpath'// person / phoneNumber'将返回:

<phoneNumber>202-456-1111</phoneNumber>

<phoneNumber>020 7925 0918</phoneNumber>

而不仅仅是数字?

2 个答案:

答案 0 :(得分:0)

您正在搜索:

//person/phoneNumber/text()

使用text()仅选择元素的文本内容,而不选择元素本身。

答案 1 :(得分:0)

XPath本身不会将返回的元素序列化为词汇XML。但是DOM接口中可能有方法可以这样做。参见例如

How do I serialize a DOM to XML text, using JavaScript, in a cross browser way?