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 |