跳转至

3.22、解析XML

功能模块如图所示:

积木功能

解析XML

功能:该节点获取所选列的XML文档并对其执行XPath查询。

积木功能

配置界面功能说明:

配置-设置:

  • XML列:包含XML单元格的列。
  • 移除源列:勾选后,选择的源列将不显示在输出结果表中。
  • XML解析摘要:所有已定义XPath查询的摘要。
  • 添加XML解析:点击后打开一个包含所选XML元素的XPath查询集的新对话框。对话框内设置XML解析语法配置。
  • 编辑XML解析:选择一个已添加的XML解析摘要,编辑选定XPath查询。
  • 移除XML解析:选择一个已添加的XML解析摘要,从列表中移除。
  • XML单元格预览:预览所选XML列的第一个未丢失的XML单元格内容。在预览界面如果选择了XML元素,可以执行右键单击以添加新的XPath查询。注意:预览只显示输入XML单元格的前2000行。

举例说明

演示的示例XML文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
       <bookstore>
            <book>
                <title lang="en">Harry Potter</title>
                <price>29.99</price>
            </book>
            <book>
                <title lang="en">Learning XML</title>
                <price>39.95</price>
            </book>
     </bookstore>

选择示例文件中的节点:

  • XPath使用路径表达式来选择XML文档中的节点。按照路径或步骤选择。如下表所示:
表达式 说明
book 表示选择节点名称为 "book"的所有节点
/ 表示从根节点中选择
// 表示从当前节点中选择文档中与所选内容匹配的节点,无论它们位于何处
. 表示选择当前节点
.. 表示选择当前节点的父节点
@ 表示选择属性

表达式和对应表达式结果:如下表所示:

表达式 表达式结果
/bookstore/book[1] 选择bookstore元素子级的第一个book元素。结果为:Harry Potter29.99
/bookstore/book[last()] 选择bookstore元素子级的最后一个book元素。结果为:Learning XML39.95
/bookstore/book[last()-1] 选择bookstore元素的倒数第二个book元素。结果为:Harry Potter29.99
/bookstore/book[position()<3] 选择bookstore元素的前二个book元素。结果为:[Harry Potter29.99,Learning XML39.95]
//title[@lang] 选择具有名为 lang 属性的所有title元素。结果为:[Harry Potter,Learning XML]
//title[@lang='en'] 选择具有值为“en”的“lang”属性的所有title元素。结果为:[Harry Potter,Learning XML]
/bookstore/book[price>35.00] 选择bookstore元素中price元素值大于35.00 的所有book元素。结果为:Learning XML39.95
/bookstore/book[price>35.00]/title 选择price元素值大于35.00 的bookstore元素中book元素的所有title元素。结果为:Learning XML