我正试图在google apps电子表格中使用importxml解析一个xml文件。
我的问题是我的xml文档设置如下:

staffList
    staff
        name
        email
    staff
        name
    staff
        name
        email

我尝试选择所有的email元素(我尝试了//staff/email,但是如果节点不存在,它不会插入null),如果email的节点不存在,则写入null(如上面的示例)。
我尝试了下面的xpath查询,但它只选择了第一个email元素,并写入1行,而不是写入n行,其中n是“staff”节点的数量。
=importxml(“http://www.engr.udel.edu/mf/test_staff.xml”;“concat(/stafflist/staff/email,substring('not-found',1 div not(/stafflist/staff/email[node()])))”
有人有什么想法吗?提前谢谢!

最佳答案

用途:

//staff/email | //staff[not(email)]

这将选择父元素为email元素的所有现有staff元素…加上任何没有staff子元素的email元素。
不完全是“返回null”(因为xpath中没有“null”这样的东西),但是您的代码只需要检查staff元素而不是“null”。

关于xml - 除了第一个元素,还使用Becker的XPath方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16269464/

10-11 08:26