专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 一文读懂如何解析xml文件

一文读懂如何解析xml文件

更新时间:2022-10-20 09:06:45 来源:动力节点 浏览880次

准备 XML 数据

在处理 XML 文件之前,请从 XML 文件中删除任何无关信息。特别是,删除文件开头的所有&字符和冗余行,例如版本和编码声明,例如

<?xml version="1.0" encoding="UTF-8"?>

还要检查文件标记的一致性。如果文件缺少根节点,请通过将根节点连接到项目中文本的开头和结尾来添加它。

您还可以从整个文档中删除所有 XML 命名空间属性,以启用对文档的常规处理。加载 XML 文件后,使用Xml 文档库类型中的Remove XML Namespace函数 。这会去除所有xmlns属性,例如:

<ram:ID xmlns:ram="http://www.ita.org/">103004</ram:ID>

变为

<ram:ID>103004</ram:ID>

构建 XML 解析项目

本主题描述 XML 解析器的示例项目实现。Dealersample.txt源文件是一个文本文件,其源内容从 XML 文件中提取。该文件没有根节点。根节点将添加到项目中。

该文件有数千个<DEALER>条目,每个条目都有一系列标记信息,包括以下字段:

DLR_CODE

姓名

添加1

添加2

添加3

城市

邮政

电话

传真

例如:

<DEALER><DLR_CODE>02400</DLR_CODE><NAME>MOTOROLA TORONTO (CUST)</NAME><ADD1>布鲁内尔路 150 号</ADD1><ADD2> </ADD2><ADD3> </ADD3><CITY>密西沙加</CITY><PROVINCE>ON</PROVINCE><POSTAL>L4Z1T5</POSTAL><PHONE>4165551212</PHONE><FAX>0 </FAX></DEALER>

创建基本 XML 业务实体

您需要创建存储 XML 数据所需的基本业务实体。

创建基本 XML 业务实体:

1.在Business Entities选项卡的Types选项卡中的User Types下,添加具有以下文本属性的Dealer类型: ADD1、ADD2、CITY、DLR_CODE、FAX、Name、PHONE、POSTAL和PROPERTIES。

2.在User Types下,添加一个XML Parser类型。

3.在XML Parser下,添加一个XML Text属性,并将Property Type 设置为Text。

4.添加一个XML Document类型,将Base 类型设置为Xml Document。

创建 XML 加载函数

您需要创建一个函数,将文本文件读入XML Text属性,将<Root>标记连接到 XML Text 的开头,将</Root>标记连接到XML Text的结尾,然后加载Xml 文档。

创建 XML 加载函数:

1.将<path>dealersample.txt复制到您的计算机,例如,复制到 c:\temp。

2.在XML Parse r 下,添加一个Init函数。通过插入以下说明来执行此操作:

将 Dealersample.txt 中的读取文本分配到XML 文本中

加载 Xml 文档(连接 [ <Root>XML Text <Root><Add Text...>])

3.确保<path>将替换为Dealersample.txt文件的路径。在示例文件中,这是 C:\

创建 XML 查询函数

您需要创建一个函数,对于每个内部节点(在父节点的所有子节点中),如果内部节点的名称等于标签,则返回内部节点的内部文本。

创建 XML 查询函数:

1.在XML Parser下,添加一个GetTagValue函数。

2.添加两个参数: Type 设置为 Xml Node 的ParentNode,Type 设置为 Text 的 Tag。

3.插入以下功能说明:

对于获取 ParentNode 的子节点中的每个 Xmls 节点 AKA innerNode

{
如果内部节点的名称等于(忽略大小写)标记
{
返回获取innerNode的InnerText
}
别的
{
}
}

未找到退货

创建 XML 解析业务实体和实例

您需要创建用于解析 XML 文件的各种业务实体。

要创建 XML 解析业务实体和实例:

1.在XML Parser下,添加一个TmpNodes列表,将Property Type设置为List of Xml Node。

2.添加一个RootNode类型,将Base 类型设置为Xml Node。

3.添加一个number属性,将Property Type设置为Number。

4.添加一个Nodes列表,将Property Type设置为List of Xml Node。

5.添加一个Names列表,将Property Type设置为List of Text。

6.添加Dealers和XML Parser的实例。

提取 XML 数据

您需要添加一个函数,在所需声明之后,将Xml 文档的第一个子节点分配给Xml 节点,并将RootNode的子节点分配给Nodes。然后,它创建经销商业务实体并使用GetTagValue函数对其进行填充,以提取每个所需节点的所需信息。

要提取 XML 数据:

在Types选项卡的XML Parser下,添加Get Dealers函数。通过插入以下说明来执行此操作:

声明经销商类型经销商

声明Xml 节点类型列表的listnodes

声明类型为Xml 节点的tmpNode

将Get First Child 的 Xml 文档分配到RootNode

将 [ ( Get Child Nodes of RootNode )<Add Xml Node...> ] 分配到节点中

对于节点中的每个 Xml 节点 AKA节点

{
将创建业务实体分配给经销商
将XML Parser 节点的 GetTagValue、DLR CODE赋值给经销商的 DLR CODE
将XML Parser 节点的 GetTagValue、NAME分配给经销商的名称
将XML Parser 节点的 GetTagValue 、ADD1分配给经销商的 ADD1
将XML Parser 节点的 GetTagValue、ADD2分配给经销商的 ADD2
将XML Parser 节点、CITY的GetTagValue分配给经销商的 CITY
将XML Parser 节点的 GetTagValue、PHONE分配给经销商的 PHONE
将XML Parser 节点、PROVINCE的GetTagValue分配给经销商的 PROVINCE
将XML Parser 节点的 GetTagValue 、 POSTAL分配给经销商的POSTAL
将XML Parser 节点的GetTagValue分配给经销商的FAX
将经销商添加到经销商
}

​​​​​​

创建标注和测试项目

您需要创建标注、编译项目并运行监视器来测试项目。

创建标注和测试项目:

1.在演示选项卡的标注选项卡中,添加快速标注。

2.右键单击标注并选择插入 > 操作链接。

3.输入Init作为操作名称并插入以下指令:

XML解析器的初始化

4.同样,添加一个名为Get Names的标注,该标注链接到Get Dealers of XML Parser。

5.确保实时客户端进程 ( RTClient.exe )未运行。

6.要生成主项目,请单击功能区上的生成主项目。或者,要生成活动项目,请单击生成主项目并从下拉列表中选择生成活动项目。

7.验证项目编译没有错误。

8.单击运行实时客户端。应用程序运行。

9.单击快速。

10.单击初始化。这将运行Init函数并读取文件。

11.单击获取名称。这会处理文件内容。

12.单击功能区上的监视器。

13.选择经销商。出现从 XML 文件中提取的经销商列表。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>